N'Abend alle zusammen,
Ich hab ein mittelschweres Problem und steh' im Moment etwas auf dem Schlauch.
Folgendes:
Ich habe eine Komponente, die das Event "OnMessageRecv" besitzt. Es handelt sich um die TICQLib. Dieses Event wird immer dann aufgerufen, wenn mir jemand eine Nachricht schickt.
procedure TForm1.ICQClient1MessageRecv(Sender: TObject; Msg, UIN: string);
In der Variable "UIN" steckt die UIN von dem, der mir die Nachricht geschickt hat, in der Variable "Msg" die Nachricht selbst.
die komplette Prozedur sieht bei mir dann so aus:
Delphi-Quellcode:
procedure TForm1.ICQClient1MessageRecv(Sender: TObject; Msg, UIN: string);
var
i: Integer;
ListItem: TListItem;
begin
with TsendMsgFrm.Create(nil) do
begin
if ListView1.Items.Count > 0 then
for i := 0 to ListView1.Items.Count - 1 do
if ListView1.Items.Item[i].Caption = UIN then
begin
ListItem := ListView1.Items.Item[i];
FNick := ListItem.SubItems[LV_INDEX_NICK]; //Nick
Break;
end;
if FNick = UIN then
Caption := Format('Chat with "%s"', [UIN])
else
Caption := Format('Chat with "%s" (%s)', [FNick, UIN]);
Jvrichedit1.selattributes.Color := clNavy;
Jvrichedit1.selattributes.Style := [fsBold];
Jvrichedit1.Lines.Add(FNick + ':');
Jvrichedit1.selattributes.Color := clBlack;
Jvrichedit1.selattributes.Style := [];
Jvrichedit1.Lines.Add(Msg);
Jvrichedit1.Lines.Add('');
end;
end;
mein Problem ist jetzt:
Ich habe bei dem Fenster sowohl das Memo, in dem ich meine Nachricht schreibe als auch das Memo, wo ich die Antwort meines Chat - Partners lesen kann. Das Problem ist jetzt:
Wenn ich jetzt bereits das Chat - Fenster geöffnet habe und die Antwort meines Partners erhalte, dann wird das Fenster erneut geöffnet, was natürlich nicht sein sollte. Ich habe zur Verdeutlichung meines Problems mal einen kleinen Bildband angehängt, denn Bilder sagen mehr als tausend Worte.
Meine Frage also:
Wie kann ich auf die einzelnen Memo's zugreifen, wenn ich mehrere Chatfenster geöffnet habe?
Mit
sendmsgfrm.Jvrichedit1.Lines.Add(Msg);
geht es ja nicht, denn woher soll das Programm wissen, welches Chatfenster ich meine?
Nachdem ich euch jetzt vollends verwirrt habe, hoffe ich trotzdem auf hilfreiche Antworten.
mfg
kernel32.dll