Delphi-PRAXiS
Seite 2 von 6     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Dezentraler Chat fürs LAN (https://www.delphipraxis.net/47791-dezentraler-chat-fuers-lan.html)

mr47 18. Jun 2005 10:39

Re: Dezentraler Chat fürs LAN
 
Ich hätte noch einen Vorschlag! Mach ein script dass fest vom Programm immer beim start ausgeführt wird! Dann muss man ein Script dass man selbst schreibt einfach in das Automatische reinschreiben und nicht immer selber ausführen. Ich hoffe du verstehst was ich meine.

Praktisch sowas wie Autoexec.bat von Windows :wink:


mfg mr47 :hi:

emteg 18. Jun 2005 20:09

Re: Dezentraler Chat fürs LAN
 
Das mit dem autoexec ist schon implementiert! :) Jetzt hab ich aber ein ziemlich merkwürdiges problem:

Wenn eine PM kommt, soll ein neues form erstellt werden. Und obwohl mein code absolut unverfänglich und eigentlich fehlerfrei ist, hängt sich mein programm einfach auf :wall:
Ich nehme an, dass es was mit dem netzwerk zu tun hat. wenn ich die selbe procedure, die das form erstellt nicht durch eine chatzeile aufgerufen wird, gibt es keine probleme. sobald ich eben diese procedure aber ausführen lasse, sobald über das netzwerk eine aufforderung dazu kommt, hängt das programm. aber erst nachdem das form sichtbar ist. ich habe keine ahnung, woran das lieg :gruebel: :wall:
Vorschläge?

Hier ist der aufruf durchs netzwerk:
Delphi-Quellcode:
if pos('PMREQUEST', text)=1 then
  begin
    delete(text,1,10);                //header entfernen
    usr:=text;
    delete(usr,1,pos('|',text));      //empfänger abschneiden
    if usr=nickname then              //festellen, ob dieser cl gemeint ist
    begin
      delete(text,pos('|',text),9999); //absender abschneiden
      if IP<>IPWatch.LocalIP then
      begin
        UDPClient.Send(IP,Port,'PMACCEPT|'+Nickname);

        for i:=1 to 5 do
        begin
          if PMGrid.Cells[0,i]=text then
          begin
            PMExists:=true;
          end;
          if PMExists=false then
          begin
            if PMGrid.Cells[0,i]='' then
            begin
              PMGrid.Cells[0,i]:=text;
              PMGrid.Cells[1,i]:=IP;
              CreatePMSession(1);
            end;
          end;
        end;
       
      end;
    end;
    processed:=true;
  end;
Und die erstell procedure
Delphi-Quellcode:
procedure TForm1.CreatePMSession(line: integer);
var usr: string;
    PMForm: TForm;
begin

  if line=1 then
  begin
    PMForm:=TForm.Create(Self);
    PMForm.Name:='PMForm1';
    PMForm.Caption:='TestForm';
    PMForm.Show;
  end;

end;
Ich kann die procedure auch testweise an anderer stelle aufrufen, da erscheint das fenster ohne probleme.

Jarmen_Kell 18. Jun 2005 20:44

Re: Dezentraler Chat fürs LAN
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also ich weiß nicht, woran das liegt, will dir aber einen anderen Rat mit auf den Weg geben :)

Diese Fenster sollen ja flüsterfenster sein, wenn ich das richtig gesehen habe.
Da du davon aber vermutlich mehrere haben wirst und die auch einzeln ansprechen musst, sei dir ein Tutorial über Pointer ans Herz gelegt^^
Ich weiß nicht mehr, wo ich das her habe, aber ich hab dir mal ein geeignetes angehenkt.
Ich habe auch mal angefangen, einen Chat zu bauen und hatte einige Probs in der Richtung, aber damit klappte es wunderbar. Vielleicht löst es ja auch dein Problem.

ltiefland 18. Jun 2005 20:47

Re: Dezentraler Chat fürs LAN
 
Du erzeugst immer ein Formular "PMForm". Sobald es das einmal gibt, kracht es unweigerlich! Eine Formvariable kann man nicht mit mehreren Fenstern belegen!

emteg 18. Jun 2005 21:14

Re: Dezentraler Chat fürs LAN
 
Zitat:

Zitat von ltiefland
Du erzeugst immer ein Formular "PMForm". Sobald es das einmal gibt, kracht es unweigerlich! Eine Formvariable kann man nicht mit mehreren Fenstern belegen!

Das ist mir klar, es ist aber trotzdem nicht die problem ursache.
Mein program hänger erst genau in dem moment wo ich das form anzeigen lasse. alles andere wird brav gemacht.
Und außerdem habe ich festgestellt, dass die procedure 2mal durchlaufen wird, aber nur wenn sie übers netz kommt. Woran liegt das jetzt schon wieder? :gruebel:

ltiefland 18. Jun 2005 21:20

Re: Dezentraler Chat fürs LAN
 
Wenn sie zweimal durchlaufen wird, dann versucht er auch zweimal die Variable zu belegen. Das klappt aber nicht.

Du mußt sie irgendwo noch einmal aufrufen. Suche mal nach dem Namen der Prozedur und schau mal, ob Du das nicht irgendwie optimieren kannst.

emteg 18. Jun 2005 23:16

Re: Dezentraler Chat fürs LAN
 
Mal wieder ein nettes update. Das mit den PMs ist immer noch nicht absolut zufriedenstellend, aber schon deutlich besser als vorher. PMs haben jetzt ein hübsches interface und man braucht keine konsolenbefehle mehr. In der Userlist einfach einen benutzer doppelt oder mit der rechten maustaste anklicken und schon kan man eine pm schicken. Ignorieren geht jetzt auch über das besagte rechtsklick menü.
Neu sind auch scripte, die beim connnecten automatisch ausgeführt werden, wenn man will. Einfach den dateinamen im settingstab eintragen und los gehts.

Version 1.3.2:
Download

Changelog:
Bugfix: Socketerror beim Verbindungsversuch wenn keine Netzwerkverbindung besteht.
Bugfix: Programm kann nicht beendet werden, wenn keine Netzwerkverbindung besteht.
Änderung: LCMP Update auf Version 1.2
Änderung: Neuorganinsierter Settingstab.
Änderung: Kommandozeile entfernt: /pmsend.
Neu: PM Interface, Nachrichten können jetzt ohne Konsolenbefehle verschickt werden.
Neu: Rechtsklick Menü in der Userlist.
Neu: Möglichkeit Scripte beim Start auszuführen.

emteg 20. Jun 2005 15:20

Re: Dezentraler Chat fürs LAN
 
Und mal wieder ein update mit neuen Features. Diesmal neu dabei: filetransfer und farben im chatlog!

Version 1.4.3 (20.06.50):
Download

Changelog:
Bugfix: Fehler, bei dem Benutzer nach Unignore weiterhin ignoriert wurden.
Änderung: LCMP Update auf Version 1.3
Neu: Unterstützung beliebig vieler Sprachen. Mitgeliefert: Englisch, Deutsch.
Neu: Verschiedene Farben im Chat.
Neu: Programm kann zum Trayicon minimiert werden.
Neu: Filetransfer! Aufgerufen wird ein filetransfer mit /sendfile Username
Neu: Neue Kommandozeilen: /me; /sendfile.

Delphi Star 20. Jun 2005 18:14

Re: Dezentraler Chat fürs LAN
 
Es wäre auch schön, wenn man das Programm in den Traybereich minimiert hat, dass man mit einem längeren (nicht dieses kurze Aufleuchte, das übersieht man leicht) blinken des Symbols oder einen Hinweiston darauf hingewiesen, das man eine Nachricht erhalten hat.
Ansonsten ein schönes Programm :thumb:

emteg 20. Jun 2005 23:10

Re: Dezentraler Chat fürs LAN
 
du meinst, dass das blinken häufiger wiederholt werden soll?


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:26 Uhr.
Seite 2 von 6     12 34     Letzte »    

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