gpt4 book ai didi

string - 如何在 TVarRec 中设置字符串(或 AnsiString)常量?

转载 作者:行者123 更新时间:2023-12-03 15:04:16 25 4
gpt4 key购买 nike

我想将格式化参数 Args 传递到 Format功能。我找到了一些例子,但我找不到如何在 TVarRec 中分配字符串常量成员。以下代码编译失败,并显示 E2089 Invalid typecast

procedure TForm1.Button1Click(Sender: TObject);
var Arguments: array of TVarRec;
begin
SetLength(Arguments, 2);

Arguments[0].VInteger := 111;
Arguments[1].VAnsiString := PAnsiString('Text'); // I want to set this member

ShowMessage(Format('Decimal: %d, String: %s', Arguments));
end;

有人可以建议我如何将字符串(或 AnsiString)常量设置为 TVarRec 成员吗?我使用的是 Delphi 2009。

非常感谢

最佳答案

这似乎在 XE 中有效:

var
Args: array[0..1] of TVarRec;
S: AnsiString;
U: UnicodeString;
begin
S := 'Hello';
U := 'world';
Args[0].VType := vtAnsiString;
Args[0].VAnsiString := Pointer(S);
Args[1].VType := vtUnicodeString;
Args[1].VUnicodeString := Pointer(U);

Writeln(Format('%s, %s!', Args));
end;

关于string - 如何在 TVarRec 中设置字符串(或 AnsiString)常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6058697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com