Autor Beitrag
Hendi48
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 271



BeitragVerfasst: Fr 21.12.07 20:52 
Hallo,
ich habe ein schweres Problem:
Wir haben hier einen Plugin-Manager, welcher auch ganz gut läuft. Das ganze läuft halt dann noch über einen Thread damit die GUI nicht so ausgelastet ist. Nun haben wir eine neue Funktion eingebaut, in der eine andere Form aufgerufen wird. Natürlich ham wir das mit ShowModal gemacht, nur irgendwie wirkt es wie Show, da man immer noch auf die MainForm zugreifen kann. Das ist aber nicht das eigentliche Problem, sondern das wenn man das Hauptprogramm dann beenden möchte (vorher war die Form auch auf und es lief eigentlich alles wie es sollte), kommen plötzlich Fehlermeldungen wie "Ungültiges Fensterhandle E1400".
Es ist ungefähr so aufgebaut:
Thread -> Plugin-Manager -> property OnFormAufruf read FFormAufruf write SetOnFormAufruf
Das FFormAufruf ist die Funktion, in welcher die Form aufgerufen wird und die MainForm weist darauf dann die Funktion wo es geöffnet wird zu, welche auch in der MainForm ist.

Falls ihr noch mehr Informationen braucht sagt Bescheid. :wink:

Danke schonmal,
Hendi
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Fr 21.12.07 21:46 
Ist das richtig, dass das Formular aus dem Thread raus aufgerufen wird? Ohne Synchronize?

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
Hendi48 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 271



BeitragVerfasst: Fr 21.12.07 21:59 
Naja, ich hab mir auch gedacht, dass es vielleicht daran liegt, aber es ist ja im PluginManager und nicht direkt im Thread.
Hendi48 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 271



BeitragVerfasst: So 23.12.07 12:09 
Wir haben das Problem mittlerweile gelöst. Es lag tatsächlich am Thread, wir haben die Funktion direkt in den Thread gepackt und dann den Aufruf synchronisiert und siehe da - es geht.