![]() |
Wie Objekt eines Programms in anderes Programm einbinden?
Hallo,
ich habe in einem Programm A einer Unit x eine Klasse. Aus dieser Klasse möchte ich gerne ein TStaticText Objekt in einem Programm B verwenden. Geht das? Wenn ja, wie? |
Re: Wie Objekt eines Programms in anderes Programm einbinden
Ist das richtig, wenn ich unter uses die unit einbinde und denn bei der class einfach das objekt einfüge?
|
Re: Wie Objekt eines Programms in anderes Programm einbinden
Hallo,
5 Minuten gelesen und nichts verstanden ... Zitat:
Unit x Klasse etwa so ? TStaticText steht in der Komponenten-Leiste. Heiko |
Re: Wie Objekt eines Programms in anderes Programm einbinden
genau so
|
Re: Wie Objekt eines Programms in anderes Programm einbinden
Du meinst wirklich Programm A.
Und die willst aus dem laufenden Programm A auf die Instanz des Objektes xy zugreifen? Werde mal etwas deutlicher! Grüße Klaus |
Re: Wie Objekt eines Programms in anderes Programm einbinden
Also ich habe im Programm A ein Label (z.B.) und da wird was eingetragen und in Programm B brauch ich das, wsa da steht.
|
Re: Wie Objekt eines Programms in anderes Programm einbinden
Also Daten von Programm A an Programm B senden...
suche mal nach: WM_COPYDATA |
Re: Wie Objekt eines Programms in anderes Programm einbinden
Hallo,
aha, es sind also 2 Programme. So einfach geht es nicht. Aber such mal nach FindWindow(Ex) GetWindowText Du musst dir erst einmal das Handle des Statics besorgen (FindWindow). Dazu brauchst du erst mal das Handle des Programmes selber. FindWindow erlaubt es z.B., nach dem Klassen-Namen zu suchen (WinSpy sagt dir den). Das ist der Form-Name des Hauptforms. Den würde auch also nicht Form1 lassen ... Dann hangelst du dich weiter mit FindWindowEx bis zum Statictext. Ein Suchen nach FindWindow hier sollte schon helfen. Heiko |
Re: Wie Objekt eines Programms in anderes Programm einbinden
Wenn es sich bei beiden Programmen um seine eigenen handelt, wäre IMHO eine IPC-Lösung (WM_COPYDATA wurde ja bereits genannt) der eleganteste Weg.
|
Re: Wie Objekt eines Programms in anderes Programm einbinden
Ja, es handelt sich um zwei eigene Programm. Ich probiere es mal
|
Re: Wie Objekt eines Programms in anderes Programm einbinden
Delphi-Quellcode:
Also so sende ich und so
with aCopyData do begin
dwData := 0; cbData := StrLen(pChar(t.Name)); lpData := pChar(t.Name); end; SendMessage(FindWindow('TKomMainWnd', nil), WM_COPYDATA, Longint(Handle), Longint(@aCopyData));
Delphi-Quellcode:
empfange ich, aber es erscheint nur eine leere Nachricht...
procedure TKomMainWnd.WMCopyData(var Msg: TWMCopyData);
begin oldi := String(PChar(Msg.CopyDataStruct.lpData)); end; procedure test(Sender: TObject); begin ShowMessage(oldi); end; |
Re: Wie Objekt eines Programms in anderes Programm einbinden
Hier ist ein Beispiel:
![]() PS: Du solltest dich als Berater bei eine Quizzsendung bewerben. Biite denk beim nächsten mal vor dem Posten genau nach, was du eigentlich willst und versuch dein Anliegen, klar, deutlich und umfassend darzulegen. Und wenn das dann noch in vollständigen Sätzen geschieht, kann man dir eventuell sogar helfen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:30 Uhr. |
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