Einzelnen Beitrag anzeigen

Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#7

Re: WM_COPYDATA zwischen Delphi- und Freepascalprogramm

  Alt 13. Feb 2010, 10:13
Zitat:
Kann es sein, das die Typumwandlung "Result:=String(sText)" in der Methode ReceiveData zwar in Delphi, nicht jedoch in Freepascal klappt.
Kommt drauf an, ob die Compiler-Direktive {$longstrings} eingeschaltet ist.
Falls ja, müsste die Typkonvertierung eigentlich funzen.
Falls nein, solltest du die Zeile so ändern: Result := AnsiString(sText);

[ADD]
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  WProc := SetWindowLong(handle, gwl_WndProc, Integer(@NewWndProc));
end;
Änder das mal in
Delphi-Quellcode:
type TWProc = function (H: hWnd; msg: LongWord; w, l: LongInt): Longint; stdcall;
var WProc: TWProc;
procedure TForm1.FormCreate(Sender: TObject);
begin
  WProc := TWProc(SetWindowLong(handle, gwl_WndProc, Integer(@NewWndProc)));
end;
SetWindowLong liefert nämlich einen Longint zurück.
  Mit Zitat antworten Zitat