Hei jow, danke für deine Mühe, find ich echt interessant, deinen Ansatz. Nur das Problem, ich schnall das Prinzip der SendMessages noch nicht ganz, was dazu führt, dass ich nicht nachfollziehen kann, wie ich das genau so lösen soll. Aber das ist überhaupt nicht schlimm
Denn: Ich hatte zwei Stunden nachdem ich gepostet hatte die Lösung! Ich hab angefangen mit den Sendern herumzuspielen...und wow, ich bin beindruckt, was man für eine Macht besitzt, mit diesen Dingern. Ich merk mir nun beim erstellen eines Fenster dessen Componenten-ID die es auf Form1 bezogen hat in einer Liste. Dann, wenn ich auf die richtige Rich-Edit Komponente zugreifen möchte, geh ich in diese Liste mir di CompID holen (Diese weiss ich, weil ich gleichzeitig eine Liste mit den Fenster-Titeln führe...die ID's der beiden Listen sind gleich, und den Fenster Titel des aktiven Fensters weiss ich auch) und habe eine eigene Funktion erstellt die etwa so aussieht:
Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm2.FillIn(Sender: TObject; Request: String); begin with Sender as TForm2 do begin RichEdit1.Lines.Add(Request); end; end; |
Und der Aufruf der Prozedur sieht etwa so aus:
Quelltext
1:
| Form2.FillIn(Form1.Components[IntToStr(Form1.lbCompID.Items.Strings[i])] |
Vorhin muss man noch den Wert von i bestimmen...
Quelltext
1:
| i := Form1.lbWindowTitles.Items.IndexOf('ActiveWindowTitle'); |
soodeli, und soweit funktioniert alles einwandfrei, denn was ich auch mal gelesen hab, Fenster die man als Instanz erstellt werden, nummeriert Windows durch (obwohl man nirgens was davon sieht). Das kann man nur aufrufen mit einem Aufruf der etwa so aussieht:
Quelltext
1:
| ShowMessage((Sender as TForm2).Owner); |
Dieser Aufruf muss natürlich im zweiten Fenster irgendwo bei einem Event eingefügt werden, also auf dem Fenster, welches als Instanz geöffnet wird.
So, das wärs, wass ich soweit über die Sender rausgefunden hab...ich brauch dieses Problemlösungsverfahren inzwischen in meinem gesamten Chat

...and You will Know us By the Trail of Death.....