Wie kann ich nun Pointer in der Form wie in GetPChar() erhalten?
Was bitte willst Du (erreichen)?
Delphi-Quellcode:
procedure irgendwas(wert:integer);
begin wert:=66; end;
...
wert:=9;
irgendwas(wert);
// Hier ist wert immer noch 9 !!!!!
Ohne var werden keine Daten/werte aus der procedure zurück gegeben!
Ausnahme:
Delphi-Quellcode:
procedure irgendwas(pw:pinteger);
begin pw^:=100; end;
...
wert:=45;
irgendwas(@(wert);
// ab hier ist wert=100;
weil Du eine Adresse übergeben hast und an diese Adresse Daten geschrieben wurden. Die Adresse ist daran aber nicht direkt beteiligt.
Gruß
K-H
Bis hierher ist mir die Sache klar.
Ohne var werden keine Daten/werte aus der procedure zurück gegeben!
Dann würde es umgekehrt gar nicht funktionieren, nämlich so hier:
procedure irgendwas(aWert: PChar);
begin
aWert := PChar(AnyString);
end;
Dieses Ergebnis, das
igendwas(@Wert) dann nicht funktioniert, erhalte ich auch.
Nun aber habe ich in den ToolsAPI die schon geannte Funktion GetText(Position: Integer, Buffer: PChar; ...
gefunden und dort scheint es anders zu sein. Zumindest geh ich davon aus, das Getxxx einen Wert holt, wie
GetText(1, @wert, 15)
mit
... GetText(Pos: Integer; Buffer: PChar; count: Integer)
begin
Buffer := PChar(AnyString);
end;
Wenn ich da falsch liege, müsste dann diese Funktion nicht Putxxx() doer Setxxx() heißen?
Dieser Punkt ist es, der mich verwirrt. Oder es gint tatsächlich einen Weg, so einen Wert an Buffer zzu übergeben, nur wie, wenn meine Annahme richtig ist.
Wie kommuniziert Delphi unter Verwendung dieser Funktion GetText()?