Moin Pseudemys Nelsoni,
mit integer(s) würdest Du den Wert der Adresse der Variablen übergeben die die Adresse des Strings enthält, mit integer(@s[1]) ist es die Adresse des ersten Zeichens des Strings. Dieser wird intern automatisch nullterminiert, so dass eine
API Funktion etwas damit anfangen kann.
Ersatzweise ginge auch integer(PChar(s)).
Der Typecast mit integer ist notwendig, da Borland die Funktion so importiert, dass man dort nicht direkt die Adresse eines Strings angeben kann.
[EDIT]
Durch die Nachricht WM_SETTEXT sollte die WindowsProc die die Message auswertet "wissen", dass der Wert von LParam die Adresse eines nullterminierten Strings bedeutet.
[/EDIT]