Forum: PC-Programmierung VB6 Kommunikationsabbruch durch Fensterverschiebung


von Hans D. (hans_dampf0_0)


Lesenswert?

Hallo,

habe folgendes Problem:

Meine mit VB6 geschriebene Oberfläche kommuniziert mit einem 8051 
Mikrocontroler mit 1Mbit über RS232. Die übertragenen Daten werden in 
einer PicrureBox angezeigt. Das funktioniert alles gut bis ich das 
Fenster in der Titelleiste verschieben möchte. Solange ich mit 
gedrückter Maustaste auf die Titelleiste klicke sendet das VB Programm 
keine Daten mehr an die Zielhardware, die nach 1 Sekunde in den Timeout 
läuft.

Ich bräuchte nun ein Event bei anklicken des Fensters oder ähnlich, 
damit ich über die Kommunikation ein Stopbefehl schicken kann.
Wo befindet sich in VB6 denn der Source Code des Fensters.

Vielen Dank für eure Hilfe!

von Weingut P. (weinbauer)


Lesenswert?

wo der liegt weiß ich nicht, Du könntest aber probieren die Taskpriority 
auf höher zu setzen.

von Joachim (Gast)


Lesenswert?

Das liegt glaube ich daran, dass keine events mehr an das Programm 
weitergereicht werden. Das Stichwort, mit dem Du weiter suchen könntest, 
wäre "subclassing", eine Methode mit der man sich in den event 
dispatcher reinklinken kann. Hab mich damit aber nie weiter beschäftigt.

Gruß

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ein Lösungsansatz bestünde darin, die Kommunikation mit dem µC und die 
Oberfläche voneinander zu entkoppeln, in dem die Kommunikation in einem 
eigenen Thread läuft -- Stichwort "Worker Thread".

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.