[MFC] DLL & "encountered an improper argument"
-
Hi,
ich habe mit VS2008 unter C++ eine MFC-DLL erstellt (statisch gelinkt). In der DLL habe ich ein paar CDialoge angelegt die ich in den exportierten Funktionen der DLL aufrufe. Das klappt auch alles prima.
Nun möchte ich den Text eines Dialoges ändern mit SetWindowText(_T"irgendwas"). Aber wenn ich dieses mal die DLL benutze und die entsprechende Funktion aufrufe, entsteht an genau dieser Stelle ein Fehler - eine Messagebox mit "encountered an improper argument".
Ich bin ratlos.Weiß jemand Hilfe?
extern "C" __declspec(dllexport) int __stdcall showDialog() { TestDialog d = new TestDialog(); d.SetWindowText(_T"irgendwas"); //hier gibts den fehler d.DoModal(); return 1; }
-
weil an der stelle dein Dialog noch nicht erstellt ist kannst du auch kein SetWindowText aufrufen. Erstellt ist dein Dialog erst nach Aufruf von DoModal, also wirst du dir für dein Problem eine andere Lösung einfallen lassen müssen. Einfachste ist eine Member-Variable anlegen und dann in InitDialog den Text setzen.
-
Das war des Pudels Kern. Danke.