Meine ersten Versuche unter VS2005 - HILFE!
-
Filou204 schrieb:
UINT MyMFCThread(void* pParam) { CInstallDlg *pWnd; pWnd=(CInstallDlg*)pParam; pWnd->Install(); return (1); }Woran liegt das?
Was nun??
Das Problemist, dass CWnd Objekte threadafin sind. Man kann keinen Zeiger auf ein CWnd Objekt in einen anderen Thread weitergeben und es dort verwenden.
Das muss knallen! Genau an der Stelle, den Du hast ja keinen Eintrag in der Window map.Wenn Install keine Fenster Funktionen verwendet oder keine Nachrichten versendet ist es möglich denb Zeiger zu benutzen!
-
Wenn Install keine Fenster Funktionen verwendet oder keine Nachrichten versendet ist es möglich denb Zeiger zu benutzen
Ich danke Dir für den Hinweis!
Nein Install kopiert nur Dateien und schreibt Einträge in die Registry.
Wie soll ich den Zeiger benutzen?*pWnd->Install();So gehts nicht... Sorry, wenn ich mich so doof anstelle

-
Zeig doch mal die Install()-Methode.
(PS: Dein
pWnd->Install()ist technisch schon korrekt - abgesehen von den CWnd-typischen Problemen, die Martin angesprochen hat)
-
Da steht noch nicht viel drin!
Ich hab mit dem Programm erst heute Morgen angefangen.void CInstallDlg::Install(void) {/* BOOL bCheck = TRUE; BOOL bSetupErfolgreich = TRUE; DWORD dWait; HWND *handle = NULL; CString csCD; csCD = GetCurrentDirectory(); */ //Schreibschutz im Ordner C:\TIS aufheben///////////////////////////////////////////// m_csStatus = "Die Installation wird vorbereitet."; UpdateData(FALSE); }
-
Filou204 schrieb:
UpdateData(FALSE);Das ist eine der Anweisungen, die dein Arbeitsthread NICHT verwenden darf
UpdateData() tauscht Informationen mit dem WinAPI-Fenster aus und kann deshalb nur von dessen Besitzer-Thread ausgeführt werden.
-
Oh danke!!
Jetzt gehts!! Toll!!
Muss nur nen andern Weg finden wie ich dem Dialog den Fortschritt von dem Tread mitteile. Hats Du eine Idee?
-
PostMessage() (die Nachrichtenschleife wird vom Anzeigethread verwaltet, also darfst du von dort aus auch den Dialog verändern)
-
Danke ich teste es mal.
Zuerst muss ich aber mal das kopieren der Dateien und das Setzen der Registryeinträge hinbekommen....
-
<a href="http://xshorturl.info/r/free-ringtones.com.html">free ringtones</a>
-
<a href="http://xshorturl.info/r/free-ringtones.com.html">free ringtones</a>
-
<a href="http://xshorturl.info/r/free-ringtones.com.html">free ringtones</a>