Einzelnen Beitrag anzeigen

Kernel32.DLL
(Gast)

n/a Beiträge
 
#1

Mehrere Fenster, gleiche Klasse,auf best. Memo zugreifen

  Alt 8. Mai 2005, 00:10
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
Miniaturansicht angehängter Grafiken
sosollssein_666.jpg   soisses_124.jpg  
  Mit Zitat antworten Zitat