Die Übergabe eines Pointer-Parameters als Var-Parameter (also interne Verwendung eines weiteren Pointers darauf) macht in den wenigsten Fällen Sinn, und PChar ist nun einmal ein Pointer-Typ.
[edit] Ich habe gerade mal ein wenig gestöbert, der Kernsatz von MS zu [in] und [out] scheint mir zu sein:
Zitat:
The [in] and [out] attributes specify the direction in which the parameters are passed.
[/edit]
Das heißt dann also, das die
GetText() Funktion aus dem ToolaAPI trotz ihres Namens einen String an Buffer übergibt?
Delphi-Quellcode:
var myText: PChar;
procedure SendText(Thisone: PChar);
begin
GetText(1, THisOne, StrLen(ThisOne));
end;
begin
myText := 'Das hier';
SendText(myText);
end.
Denn die fragliche GetText() Funktion hat nämlich keinen Var bzw. Out Parameter. Also nicht
function GetText(Position: Integer; out Buffer: PChar; ...)
sondern
function GetText(Position: Integer; Buffer: PChar;...
Das hieße also dann das ich den Text nur senden, aber nicht von irgendwoher lesen kann?
.