INDY 10 | TCPServer , TCPClient

Rund um die LCL und andere Komponenten
mtbf40
Beiträge: 72
Registriert: Do 3. Nov 2011, 16:39

Re: INDY 10 | TCPServer , TCPClient

Beitrag von mtbf40 »

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

Scotty
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

Beitrag von Scotty »

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.

mtbf40
Beiträge: 72
Registriert: Do 3. Nov 2011, 16:39

Re: INDY 10 | TCPServer , TCPClient

Beitrag von mtbf40 »

was mich auch wundert, warum <OutputDebugString> (aus Unit Windows) nicht funktioniert!!?

mschnell
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

Beitrag von mschnell »

mtbf40 hat geschrieben:was mich auch wundert, warum <OutputDebugString> (aus Unit Windows) nicht funktioniert!!?
Es wäre wirklich doof, wenn OutputDebugString im Thread nicht geht. Es wäre schön, wenn das definitiv geklärt werden könnte.

-Michael

mtbf40
Beiträge: 72
Registriert: Do 3. Nov 2011, 16:39

Re: INDY 10 | TCPServer , TCPClient

Beitrag von mtbf40 »

mschnell hat geschrieben:
mtbf40 hat geschrieben:was mich auch wundert, warum <OutputDebugString> (aus Unit Windows) nicht funktioniert!!?
Es wäre wirklich doof, wenn OutputDebugString im Thread nicht geht. Es wäre schön, wenn das definitiv geklärt werden könnte.

-Michael

geht doch!!!! - ich hatte imer -> OutputDebugString(PChar('bin beim empfangen')); funktioniert nicht - warum auch immer
OutputDebugString(LPCSTR('bin beim empfangen')); funktioniert

Antworten