[VB6] RaiseEvent = Futtsack ?

08/07/2010 - 19:06 von Heinz-Mario Frühbeis | Report spam
Hallo!

Gegeben :

eine DLL mit einer Form ->
in der Deklaration der Klasse der DLL ->
dim withevents f as Form1

Im DLL-Aufruf (Public sub Create)
Set f = new Form1

In Form1 ->
Event Paint
Event Resize
Event Click
Private sub Form_Paint (RaiseEvent Paint) und
Private sub Form_Resize (RaiseEvent Resize) und (!)
Private sub Form_Click (RaiseEvent Click)

In der Sub "Create" lege ich f.WindowState = vbMaximized fest.
Also folgt ->
In der Klasse der DLL ->
private sub f_paint
Event wurde ausgelöst IO
end sub

private sub f_Resize
Event wurde ausgelöst IO
end sub

Klicke ich dann aber auf die Form ->
Click_Ereignis im Form-Modul ist vorhanden. Aber RaiseEvent Click wird
(nicht mehr) ausgelöst.
Eigentlich wird nach dem auslösen von Paint und Resize gar kein RaiseEvent
mehr ausgelöst ... wobei auch noch nicht einmal irgendwo Set f = nothing
gesetzt wurde.

Gibt's dafür eine rationale Erklàrung?

Gruß
Heinz-Mario Frühbeis
 

Lesen sie die antworten

#1 Heinz-Mario Frühbeis
08/07/2010 - 19:56 | Warnen spam
"Heinz-Mario Frühbeis" schrieb ...
Gegeben :

eine DLL mit einer Form ->
in der Deklaration der Klasse der DLL ->
dim withevents f as Form1

Im DLL-Aufruf (Public sub Create)
Set f = new Form1

In Form1 ->
Event Paint
Event Resize
Event Click
Private sub Form_Paint (RaiseEvent Paint) und
Private sub Form_Resize (RaiseEvent Resize) und (!)
Private sub Form_Click (RaiseEvent Click)

In der Sub "Create" lege ich f.WindowState = vbMaximized fest.
Also folgt ->
In der Klasse der DLL ->
private sub f_paint
Event wurde ausgelöst IO
end sub

private sub f_Resize
Event wurde ausgelöst IO
end sub

Klicke ich dann aber auf die Form ->
Click_Ereignis im Form-Modul ist vorhanden. Aber RaiseEvent Click wird
(nicht mehr) ausgelöst.
Eigentlich wird nach dem auslösen von Paint und Resize gar kein RaiseEvent
mehr ausgelöst ... wobei auch noch nicht einmal irgendwo Set f = nothing
gesetzt wurde.

Gibt's dafür eine rationale Erklàrung?



Vlt noch anbei :

So, wie beschrieben, habe ich das in meinem Projekt am laufen (!)
Ich wollte das Ganze nur noch einmal neu aufgesetzt haben, da ich einige
struktuelle Änderungen vor hatte, bzw. habe.
Des weiteren :
Ich habe noch ein extra "Test"-Projekt erstellt um zu schauen, ob ein
nochmaliges neuaufsetzen das Programm ans laufen bringt. Es blieb aber, wie
gehabt.
RaiseEvent im Paint- , Resize - , GotFocus - , Activate-Ereignis klappt.
Alles andere nicht.

Ich habe keine Erklàrung dafür; hoffe aber hier jemand!

Gruß
Heinz-Mario Frühbeis

Ähnliche fragen