Hallo,
habe bei meinem Projekt jetzt festgestellt das Daten "verloren" gehen.
Das ganze realisiere ich über die Indy-Komponenten - TCP-Sockets
Das ganze stellt sich folgendermaßen dar:
Metarader (EA) sendet "permanent" Daten an eine <--------> DLL (TCP-Server) <--------> DLL gibt die Daten an das Hauptprogramm-<HP> (TCP-Cient)
beim HP kommen aber am Anfang nicht alle Daten an, sondern erst nach "kurzer" Zeit - da das HP diese Daten schon verarbeitet, kommt ein Fehler.
Jetzt würde ich gern in der DLL ein Debugging einrichten, weiß aber nicht wie - ich habe die Unit IdLogDebug eingebunden die aber nichts ausgibt.
Hat jemand ein Beispiel wie man diese Unit richtig einbindet? - oder was gibt es noch für Möglichkeiten eine DLL zu debuggen??
das ganze bezieht sich auf folgenden Thread:
http://www.lazarusforum.de/viewtopic.ph ... 9&start=15
INDY 10 | TCPServer , TCPClient
-
- Beiträge: 768
- Registriert: Mo 4. Mai 2009, 13:24
- OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
- CPU-Target: x86_64-linux-qt/gtk2
- Kontaktdaten:
Re: INDY 10 | TCPServer , TCPClient
Wie wäre es mit writeln/debugln oder der unit eventlog? Vermutlich willst du auch nicht nur debuggen, sondern die ankommenden Daten puffern. Nimm dazu eine TStringList und schreibe alles dort rein. Die Verarbeitung danach machst du solange Count>0 ist auf dem ersten Item, das du dann löscht. Allerdings ist die normale Stringlist nicht threadsicher. Dazu musst du Add() und Delete() mit LockList und UnLocklist einpacken. Zu all diesen Punkten gibt es eine große Menge an Hinweisen und Codebeispielen in der Suchmaschine deiner Wahl.
Re: INDY 10 | TCPServer , TCPClient
was mich auch wundert, warum <OutputDebugString> (aus Unit Windows) nicht funktioniert!!?
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: INDY 10 | TCPServer , TCPClient
Es wäre wirklich doof, wenn OutputDebugString im Thread nicht geht. Es wäre schön, wenn das definitiv geklärt werden könnte.mtbf40 hat geschrieben:was mich auch wundert, warum <OutputDebugString> (aus Unit Windows) nicht funktioniert!!?
-Michael
Re: INDY 10 | TCPServer , TCPClient
mschnell hat geschrieben:Es wäre wirklich doof, wenn OutputDebugString im Thread nicht geht. Es wäre schön, wenn das definitiv geklärt werden könnte.mtbf40 hat geschrieben:was mich auch wundert, warum <OutputDebugString> (aus Unit Windows) nicht funktioniert!!?
-Michael
geht doch!!!! - ich hatte imer -> OutputDebugString(PChar('bin beim empfangen')); funktioniert nicht - warum auch immer
OutputDebugString(LPCSTR('bin beim empfangen')); funktioniert