Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi AfxCodeHook + ScktComp = Crash oO (https://www.delphipraxis.net/104941-afxcodehook-scktcomp-%3D-crash-oo.html)

0x802b 13. Dez 2007 00:00


AfxCodeHook + ScktComp = Crash oO
 
Hey :)

Ich habe in letzter Zeit ein wenig mit der AfxCodeHook Unit rumgespielt und dabei festgestellt, dass es mir nicht möglich war aus einem injizierten Thread heraus Daten über das OnRead Ereignis zu lesen...

Ich injiziere zuerst meinen wichtigen Programmabschnitt, create dann das ClientSocket und versuche eine Verbindung aufzubauen..
Das funktioniert auch noch, jedoch wenn ich nun Daten von dem Server losschicke, wird zwar das Ereignis im Clienten ausgelöst, doch wenn ich die Daten mit Socket.ReceiveText ausgeben will, stürzt die Applikation ab.

Das Selbe passiert, wenn er eine Verbindung versucht aufzubauen, diese aber nicht zustande kommt (Weil kein Server vorhanden ist zum Beispiel).

Habt ihr eventuell eine Idee an was das liegen könnte?

Mfg
0x802b

sirius 13. Dez 2007 08:53

Re: AfxCodeHook + ScktComp = Crash oO
 
kurz zusammengefasst: Du injezierst eine DLL , welche die Socketkomponenten verwendet und versendest bzw. empängst Daten über TCP?

Zacherl 13. Dez 2007 13:23

Re: AfxCodeHook + ScktComp = Crash oO
 
Die Lösung ist recht simpel und doch bereitet sie mir manchmal noch Probleme. Die Sockets arbeiten intern mit Windows Messages. Ich nehme mal an, dass du in einem Thread in dem du das Socket erzeugst, etc keine Nachrichtenschleife eingebaut hast. Aus diesem Grund werden die Nachrichten, welche ankommen gar nicht abarbeitet und erreichen auch nicht den Message Handler des Sockets. Wundert mich nur, dass das Event aufgerufen wird ..

0x802b 13. Dez 2007 13:48

Re: AfxCodeHook + ScktComp = Crash oO
 
Hmm... Hatte dir ja gerade schon gesagt, dass ich auch auf die Nachrichtenschleife geachtet habe^^
Aber du sagtest ja auch, dass ich mir mal InMemExe anschauen sollte...werd ich mal machen :)

Wenn dennoch noch jemand eine Ahnung hat, an was das liegen könnte, bitte posten :)

Bis dann


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 Uhr.

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