Autor Beitrag
Flamefire
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1207
Erhaltene Danke: 31

Win 10
Delphi 2009 Pro, C++ (Visual Studio)
BeitragVerfasst: Sa 02.02.08 18:18 
Hi,
ich programmiere gerade ein Ingame Chat via IRC
ich benutze also eine DLL die ich in das Spiel injecte und die dann über IRC chatten ermöglichen soll

Hab also mir die IdIRC-Kompo genommen und leicht verändert bis es mir gefiel und nach ewigem suchen und probieren lief der chat auch. zumindest wenn ich den code in eine normale vcl anwendung packe und dort ausführe

sobald ich den gleichen code (mit dynamisch erstellten IdIRC) in eine DLL packe und vom Spiel aus connecten will schickt er die NICK/NAME anforderungen und erhält ein "Looking Up Your Hostname"

dann ist schluss...mehr empfängt er nicht (mit Snifer getestet)

jemand ne ahnung was ich probieren könnte?
nabbl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 51

Win XP Home
Delphi 7 PE
BeitragVerfasst: Di 05.02.08 09:42 
Welche Indy(?)-Version benutzt Du denn?

Meines Wissens ist die IdIRC-Komponente aus der 10er-Version extremst buggy (hatte da selber meine Probleme mit).

Probiers mal mit einer älterern Version aus - 8 oder 9... ansonsten halt mit IdTCPClient+passendem RFC selbst die Verbindung herstellen und die Events parsen.

Gruß
nabbl - Friedemann
Flamefire Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1207
Erhaltene Danke: 31

Win 10
Delphi 2009 Pro, C++ (Visual Studio)
BeitragVerfasst: Di 05.02.08 11:24 
ich hab die neuste indy 9 version

ich hab genau den gleichen code mit den gleichen datein etc. in ne vcl anwendung gepackt (also die kompo auch erst zu laufzeit erstellt) und da gings...
der code ist aber 100% identisch...


Zuletzt bearbeitet von Flamefire am Do 07.02.08 12:16, insgesamt 1-mal bearbeitet
nabbl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 51

Win XP Home
Delphi 7 PE
BeitragVerfasst: Mi 06.02.08 01:26 
user profile iconFlamefire hat folgendes geschrieben:
ich hab die neuste indy 9 version

ich hab genau den gleichen code mit den gleichen datein etc. in ne vcl anwendung gepackz (also die kompo auch et zu laufzeit erstellt) und da gings...
der code ist aber 100% identisch...


meinst du: net, also nein?
Flamefire Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1207
Erhaltene Danke: 31

Win 10
Delphi 2009 Pro, C++ (Visual Studio)
BeitragVerfasst: Do 07.02.08 12:17 
habs editiert...sry..meine tastatur ist ne mehr die beste ^^
ich erstelle die kompo mit .Create zur laufzeit

das geht doch gar net...normale internetanfragen kann ich in ner dll machen
aber wenn ich den selben code 1:1 in die DLL kopiere kriegt er nur noch eine antwort...
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 07.02.08 16:00 
Moin!

Es scheint also, dass die IdIRC-Compo die MessageLoop des TApplication-Objekts braucht (z.B. im Gegensatz zu IdHTTP). :nixweiss:

Fazit: Das wird also nix mit IdIRC in einer DLL... :arrow: selber machen mit IdTCPClient (und auch nicht mit TClientSocket, der braucht auch den MessageLoop der Anwendung).

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
nabbl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 51

Win XP Home
Delphi 7 PE
BeitragVerfasst: Do 07.02.08 23:07 
Ich hatte mal ein ähnliches Problem (TIdTCPServer in einer Konsole) - habe da (meinen eigenem Post nach) ne Lösung gefunden:

www.delphi-forum.de/...63507&highlight= (letzter Post)

vllt. kann es Dir ja weiter helfen - greetz

nabbl

P.s.: Wäre super, wenn du mir / uns dann deine dll zur verfügung stellen könntest :)