DCLIP - Chatklient gemacht mit PureBasic

Anwendungen, Tools, Userlibs und anderes nützliches.
Heroglyph
Beiträge: 41
Registriert: 22.11.2004 20:34

DCLIP - Chatklient gemacht mit PureBasic

Beitrag von Heroglyph »

Hi,

wie der Titel schon andeutet, möchte ich euch hier meinen in PureBasic geschriebenen Chatklienten vorstellen, der sich seit dem 23.12.05 in der öffentlichen Betaphase befindet :) (ist aber schon recht stabil).
Obwohl der Klient nicht exklusiv für die PureBasic-Community geschrieben wurde, sondern eher für die von DarkBasic, denke ich doch, dass man es sicher auch hier zeigen kann (und sollte).

Besucht wird der ganz gut, da es sich auch um den offiziellen Chat der DB-Community handelt.
Wenn von eurer Seite Interesse besteht, machen wir sehr gerne einen PureBasic-Raum mit auf, aber das nur am Rande, da es hier eigentlich mehr um den Klienten gehen soll :).
Wenn die Betaphase vorüber ist, werde ich auch den Quellcode veröffentlichen.

DCLIP kommt in zwei Versionen, einer schlanken Version ohne Plugins und der Standardversion mit dem Makroeditor und einem Wordwrapplugin, das nur testeshalber geschrieben wurde, aber irgendwie witzig ist :D.
Auch die Plugins sind in PureBasic geschrieben.

Der Klient ist an sich beliebig weit mit Plugins aufzurüsten, die potentiell die gesamte Kommunikation übernehmen können (und mehr).

So, eh ich noch mehr quatsche, hier die Downloadlinks :).

DCLIP - schlanke Version

DCLIP - Standardversion

Solltet ihr Bugs finden oder einfach Verbesserungsvorschläge haben, lasst sie mir irgendwie zukommen, damit ich das einbauen kann.
Ein frohes Weihnachtsfest euch allen :).
God is real, unless declared integer.
Benutzeravatar
HeX0R
Beiträge: 3040
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Sieht nett aus!

Wenn man's zum ersten mal startet, kann man das Profil-Fenster leider nur per Alt+F4 schliessen. Das ist nicht wirklich schön.

Du würdest übrigens bestimmt viel mehr Tester finden, wenn du auch noch nen meinetwegen abgespeckten Server anbieten würdest.

Ich zumindest hab keine Interesse in irgendeinen Chat zu springen, wo irgendwelche mir nicht bekannte DarkBasic-Coder rumspringen nur um mit deinem Proggy zu spielen.

Oder vielleicht zumindest ne Möglichkeit in begrenztem Masse eigene Channels zu öffnen.

Ausserdem solltest du auch an die armen Schweine denken, die nur über nen Proxy ins Netz kommen...

Mit eigenem Server wäre ich gerne bereit das Ding bis zum bitteren Ende zu testen, so aber kann ich leider nicht mehr als diesen groben Überblick anbieten.

Gruss
HeX
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

- So, also das ALT+F4 ist sehr blöd ...
- wenn man im Menü auf Chatraum verlassen -> Liste der verfügbaren Räume klickt stürzt das ganze Programm ab.
- der Menüpunkt "Verbinden" sollte sich in "Trennen" umändern, wenn er diese Funktion hat und natürlich dann wieder umgekehrt.

Bin laut der Anzeige mit dem Server verbunden, hab aber ständig ein Ping
Timeout ... das Programm macht also nun nichts anders, als sich ständig
mit dem Server zu verbinden und auf einen Timeout zu warten ...
schade

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Heroglyph
Beiträge: 41
Registriert: 22.11.2004 20:34

Beitrag von Heroglyph »

Hi,

@HeX0R
Wenn man's zum ersten mal startet, kann man das Profil-Fenster leider nur per Alt+F4 schliessen.
Das stimmt so nicht ganz.
Dieses Fenster am Anfang soll eine Authentifizierung erzwingen, da man sich ohnehin nicht mit dem Server verbinden kann, wenn man keinen Benutzernamen hat.
Es reicht aus, einen Benutzernamen einzugeben und im "Sichern"-Tab das Profil anzunehmen (Passwort ist nicht erforderlich, da man für den Chat nicht registriert sein muss).
Du würdest übrigens bestimmt viel mehr Tester finden, wenn du auch noch nen meinetwegen abgespeckten Server anbieten würdest.
Den Server habe ich nicht selbstgeschrieben und obwohl ich eine lokale Variante davon besitze, kann ich diese nicht herausgeben.
Der Fakt, dass ich so mehr Tester bekommen würde, stimmt natürlich trotzdem, allerdings wird DCLIP schon im Augenblick intensiv von relativ vielen Testern getestet, ich bin also nicht hauptsächlich auf der Suche nach Testern.
Ich zumindest hab keine Interesse in irgendeinen Chat zu springen, wo irgendwelche mir nicht bekannte DarkBasic-Coder rumspringen nur um mit deinem Proggy zu spielen.
Das verstehe ich durchaus, allerdings musst du ja auch nicht in den DarkBasic-Channel, sondern könntest zum Beispiel in den Entwicklerchannel, der zum Testen und debuggen dient :).
Dort wirst du dann auch keine Leute antreffen.
Oder vielleicht zumindest ne Möglichkeit in begrenztem Masse eigene Channels zu öffnen.
Gibt es, du kannst als User bis zu 200 Räume öffnen (Begrenzung serverseitig), die nicht öffentlich gelistet werden (sprich, es wird dich in diesen Privatchats niemand stören, es sei denn, du lädst ihn dazu ein).
Um einen Privatchat zu eröffnen, gehst du kurzzeitig in einen Raum und klickst mit der linken Maustaste in der rechten Benutzerliste auf deinen Namen. Dort wählst du die Option "Privatchat eröffnen" aus.
Dann kannst du den Raum wieder verlassen und befindest dich nun ganz alleine mit dir selbst in einem Privatchat, wo du ausführlich testen kannst, ohne jemals gestört zu werden.

In der Hilfe stehen alle weiteren Details.
Ausserdem solltest du auch an die armen Schweine denken, die nur über nen Proxy ins Netz kommen...
Da hast du allerdings Recht.
Benutzt du einen Proxy und wenn ja, hattest du Probleme dich zu verbinden?

@PMV:
- wenn man im Menü auf Chatraum verlassen -> Liste der verfügbaren Räume klickt stürzt das ganze Programm ab.
Das ist ein merkwürdiger Fehler, der mir bisher noch nicht passiert ist.
Bei einem Absturz wird normalerweise eine Dump.txt erstellt; kannst du diese hier unter Umständen posten, damit ich prüfen kann, wo das Problem liegt?
- der Menüpunkt "Verbinden" sollte sich in "Trennen" umändern, wenn er diese Funktion hat und natürlich dann wieder umgekehrt.
Tut er, es sei denn, man ist nicht verbunden.
Bin laut der Anzeige mit dem Server verbunden, hab aber ständig ein Ping
Timeout ... das Programm macht also nun nichts anders, als sich ständig
mit dem Server zu verbinden und auf einen Timeout zu warten ...
Offenbar bist du nicht richtig verbunden, mir ist allerdings rätselhaft, wieso DCLIP trotzdem versucht, einen Ping zu senden.
Benutzt du unter Umständen einen Proxy?

Danke euch beiden, für's Testen soweit :).
Die oberen Links enthalten mittlerweile aktualisierte Versionen von DCLIP, ich wäre euch dankbar, wenn ihr mit diesen testen könntet, denn unter Umständen sind einige der gefundenen Bugs "versehentlich" schon gefixt worden.
God is real, unless declared integer.
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

Ich finds cool
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Fehler "Liste der betretenden Räume":

Das passiert auch nur, wenn man nicht verbunden ist.
Hier die Dump.txt:
Aufgetreten in Main Module Zeile 372

Beschreibung: An attemped read or write to/from an address to which that process isn't allowed
Fehler Wiederverbindung nach Timeout:
Das mit dem Pingproblem tritt auf, wenn man keinen Nick angegeben hat. Also der Nick ein leerer String ist. Hierbei kommt auch wieder das von HeX0R angesprochende Fenster ins Spiel. Entweder ALT-F4 unterbinden oder besser, den Menüpunkt "Verbinden" deaktivieren solange kein Nick angegeben wurde.

Aber das Profilfenster find ich gewöhnungsbedürftig, woher soll man denn wissen, das man erst auf "Sichern" gehen muss und dort auf "Änderungen annehmen" klicken soll. Unter der Eingabemöglichkeit des Nicknames sollte ein Button "Übernehmen" sein und am besten noch "Verbinden".

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Heroglyph
Beiträge: 41
Registriert: 22.11.2004 20:34

Beitrag von Heroglyph »

Beide Bugs gefixt, "übernehmen" in das Loginfenster hinzugefügt.
Verbinden möchte ich dort nicht haben, da das meiner Meinung nach semantisch ins Hauptfenster gehört.
Allerdings wird beim Übernehmen gefragt, ob die Verbindung hergestellt werden soll und das Profil wird nicht gleich geschlossen.

Danke für den Input :).
Die neuen Versionen sind up.
God is real, unless declared integer.
Heroglyph
Beiträge: 41
Registriert: 22.11.2004 20:34

Beitrag von Heroglyph »

Der Klient hat die Betaphase jetzt hinter sich und wie bereits angekündigt habe ich den Quellcode dafür released.
Dieser enthält die neuste Version 1.1 (Frühlingsversion) und benötigt die ADVEditor Lib von Andreas Miethe (für die grafischen Smilies).
Sonst werden keine Libs benutzt.

Wer sich also dafür interessiert, wie man einen Chatklienten in PureBasic machen kann, sollte sich den Code einmal anschauen.
Es gibt weiterhin keine bekannten Bugs im Moment, ich bin daher dafür wie immer offen, wie auch für jedes andere Feedback :).

Zur Seite: http://dpc.dblounge.org/clienten/dclip.htm

Viel Spaß damit.
God is real, unless declared integer.
Heroglyph
Beiträge: 41
Registriert: 22.11.2004 20:34

Beitrag von Heroglyph »

Auch auf die Gefahr hin, zu nerven, möchte ich auf die Freigabe der Linuxversion von DCLIP hinweisen.
Der Quellcode ist damit auch aktualisiert worden und lässt sich sowohl unter Windows, als auch unter Linux kompilieren.
Dank PureBasic musste der Quellcode nur moderat angepasst werden, was ich als sehr angenehm empfinde :).

Viel Spaß.
God is real, unless declared integer.
Antworten