Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   WM_CopyData Problem (https://www.delphipraxis.net/137458-wm_copydata-problem.html)

aaaaaaaaaa_10 21. Jul 2009 10:43


WM_CopyData Problem
 
Hallo,
ich will die Kennung eines Programms zu einem anderen schicken :
Delphi-Quellcode:
with aCopyData do begin
      dwData := 0;
      cbData := StrLen(pChar(vParam.Kennung)) + 1;
      lpData := pChar(vParam.Kennung);
    end;
  SendMessage(FindWindow('DKomMainWnd', nil), WM_COPYDATA, Longint(Handle),
              Longint(@aCopyData));

Jetzt kommt aber der Fehler : Undefinierter Bezeichner : 'Handle', aber ich habe doch meiner Meinung nach alle units eingebunden?!

[delphi]uses Classes, DGlobals, Contnrs, ExtCtrls, DTplFrameFktTyp, Dialogs, Messages,
Controls, SysUtils, DateUtils, Math, Windows, Forms;

Was läuft da verkehrt?

Bernhard Geyer 21. Jul 2009 10:45

Re: WM_CopyData Problem
 
"Handle" ist ein Property der Klasse TForm. Wenn du nun das nicht als Methode des Formulars implementiert hast, hast du auch kein entsprechendes Property

hoika 21. Jul 2009 10:46

Re: WM_CopyData Problem
 
Hallo,

mit Handle ist dein eigenes Programm gemeint.
Übergib das Handle deines Haupt-Forms,
also z.B. Form1.Handle.

zu langsam ;(


Heiko

aaaaaaaaaa_10 21. Jul 2009 10:47

Re: WM_CopyData Problem
 
Oh, aber ich habe kein Formular. Wie kann ich denn sonst einen String an ein anderes Programm senden?

Luckie 21. Jul 2009 10:48

Re: WM_CopyData Problem
 
Du hast kein Formular? Es ist also eine Konsolenanwendung?

Beim Absender kannst du wahrscheinlich auch 0 angeben.

DeddyH 21. Jul 2009 10:50

Re: WM_CopyData Problem
 
Wenn Du nur senden und nicht empfangen willst, sollte statt des Handles eine 0 genügen, denke ich mal.

[edit] Wo war der rote Kasten? [/edit]

himitsu 21. Jul 2009 10:52

Re: WM_CopyData Problem
 
Hier im Forum suchenMessageOnlyWindows/MSDN-Library durchsuchenMessageOnlyWindows
oder das intene (unsichtbare) Fenster von Application nutzen

aaaaaaaaaa_10 21. Jul 2009 10:53

Re: WM_CopyData Problem
 
Na ich möchte einen String senden und diesen in einem anderen Programm empfangen.

hoika 21. Jul 2009 10:54

Re: WM_CopyData Problem
 
Hallo,

also übergib eine 0 oder Application.Handle.
Das ist Wurscht.


Heiko

Alaitoc 21. Jul 2009 10:54

Re: WM_CopyData Problem
 
Also ich würde das jetzt aus dem Kopf so machen:

Delphi-Quellcode:
SendMessage(FindWindow('DKomMainWnd', nil), WM_COPYDATA, Longint(@aCopyData),0);
zumindest funktioniert es via Postmessage ein Objekt zu "versenden" und das verlangt
die gleichen Parameter:

Delphi-Quellcode:
PostMessage(m_lwWndHandle, WM_FREE_QUERY, Integer(coQuery), 0);
MfG Alaitoc


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:50 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz