AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Fenster Handle

Ein Thema von -=IOI=- · begonnen am 26. Jul 2005 · letzter Beitrag vom 27. Jul 2005
 
-=IOI=-

Registriert seit: 5. Mär 2005
54 Beiträge
 
#1

Problem mit Fenster Handle

  Alt 26. Jul 2005, 19:44
Hab ein kleines Problem beim proggen eines Chat Clients.

Mein Programm ist so aufgebaut, dass ich in einem array Daten über die einzelnen User speichere, unter anderem auch, ob bereits ein Chat Fenster für diesen User offen ist.

Wenn ich z.B. ein Fenster öffne, speicher ich das so ab:

Delphi-Quellcode:
User[i].Fenster := true;
User[i].Handle := FindWindow('#32770',PChar(User[i].Nick));
Wenn ich nun von selbigem User eine nachricht erhalte wird sie mir leider nicht angezeigt.
Die Procedure sieht wie folgt aus:

Delphi-Quellcode:
procedure TForm1.ICQClient1MessageRecv(Sender: TObject; Msg, UIN: String);
var
  Min1, zeit: String;
  DateTime: TDateTime;
  Hour, Min, Sec, Msec, i: Word;
begin
  DateTime := now;
  DecodeTime(DateTime, Hour, Min, Sec, Msec);
  Min1 := IntToStr(Min);
  if Length(Min1) = 1 then Min1 := '0' + Min1;
  zeit := IntToStr(Hour)+':'+Min1;

  for i := 1 to LastUser do
  begin
    if User[i].Nummer = StrToInt(UIN) then
    begin
      if User[i].Fenster = false then
      begin
        with TMessages.Create(nil) do
        begin
          Self.IconList.GetIcon(User[i].Status, Image1.Picture.Icon);
          Self.AdvIconList.GetIcon(0, Icon);
          Caption := User[i].Nick;
          Nummer.Text := UIN;
          Nick.Text := User[i].Nick;
          Text.Font.Color := clred;
          Text.Font.Size := 10;
          Text.Lines.Add(User[i].Nick+' ('+zeit+'):');
          Text.Font.Color := clblack;
          Text.Font.Size := 8;
          Text.Lines.Add(Msg);
          Show;
          User[i].Fenster := true;
          User[i].Handle := FindWindow('#32770',PChar(User[i].Nick));
        end;
      end
      else
      begin
        with TForm(Pointer(User[i].Handle)) as TMessages do
        begin
          Text.Font.Color := clred;
          Text.Font.Size := 10;
          Text.Lines.Add(User[i].Nick+' ('+zeit+'):');
          Text.Font.Color := clblack;
          Text.Font.Size := 8;
          Text.Lines.Add(Msg);
          Show;
        end;
      end;
      Sound.FileName := ProgDir+'\Message.wav';
      Sound.Open;
      Sound.Play;
      break;
    end;
  end;
end;
Da ich die Nachrichten aber nur nicht bekomme, wenn das Fenster schon offen ist, muss der Fehler im unteren Teil nach dem else sein.

Kann mir jemand sagen, was da falsch ist?
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz