Fehler nach installation neuerer version von ms visual Studio (2012)
-
seit dem ich ms visual Studio 2012 installiert habe kriege ich Fehler die ich mit der Vorgängerversion nicht hatte!?
Beispiel:
CRichEditCtrl::Create() schlägt fehl: GetLastError() gibt 87 (invalid parameter) zurück. damit hatte ich nie Probleme. auch AfxInitRichEdit() wird aufgerufen.aber auch in anderen Programmen erscheinen Fehler die bisher nicht da waren...
ich habe bisher das Plattform SDK nicht installiert (vor der Neuinstallation meines Windows Rechners war es das). liegt es an Sowas evtl.?
Gruß
-
EIientlich kann die Installation von VS2012 damit nichts zu tun haben. Dort wird ja nichts am OS geändert...
-
Habe das Platform SDK installiert, leider immer noch das Selbe...
ich erzeuge das RichEditControl so:
sEditCtrl = new CSCRichEditCtrl(); if (sEditCtrl->Create(WS_CHILD | WS_VISIBLE | WS_TABSTOP | ES_AUTOHSCROLL, CRect(0, 0, 100, 10), this, 7501)) ...
'CSCRichEditCtrl' ist eine Subclass von 'CRichEditCtrl'
-
Kann es sein dass du versuchst Programme die mit älteren Visual Studio Versionen gemacht wurden zu übersetzen? Dann kann es leicht sein dass du Fehler bekommst. Weil es halt immer mal Änderungen gibt, auch an der MFC. Kleiner Tip: Änderungen die alten Code "zerbrechen" (=dazu führen dass Code der mal funktioniert hat nicht mehr funktioniert) nennt man "breaking changes".
Und damit findet man dann ...
Google nach "CRichEditCtrl breaking changes" (ohne ""): http://msdn.microsoft.com/en-us/library/bb531344.aspxmsdn schrieb:
CRichEditCtrl and CRichEditView use MSFTEDIT_CLASS (RichEdit 4.1 control) instead of RICHEDIT_CLASS (RichEdit 3.0 control) in Unicode builds.
->
Ich würde mal annehmen dass in deiner CSCRichEditCtrl Klasse irgendwo Code existiert der mit dem 4.1er RichEdit Control nicht klarkommt.
-
Hast Du OnCreate überschrieben?
Wenn ja, was passiert da...
Gibt es weitere Debug ausgaben.Schau mal in die Modul-Liste, welche DLL geladen wird.
-
Da ist kein OnCreate() und kein Konsturktor überschrieben.
Keine einzige Ausgabe im Debug..Welche DLL meinst du genau?
Hier sind die geladenen DLLs:
D:\Projekte\Filter Parameter Generator\Debug\FilterParamGen.exe C:\Windows\SysWOW64\ntdll.dll C:\Windows\SysWOW64\kernel32.dll C:\Windows\SysWOW64\KernelBase.dll C:\Windows\SysWOW64\version.dll C:\Windows\SysWOW64\msvcrt.dll C:\Windows\SysWOW64\user32.dll C:\Windows\SysWOW64\gdi32.dll C:\Windows\SysWOW64\lpk.dll C:\Windows\SysWOW64\usp10.dll C:\Windows\SysWOW64\advapi32.dll C:\Windows\SysWOW64\sechost.dll C:\Windows\SysWOW64\rpcrt4.dll C:\Windows\SysWOW64\sspicli.dll C:\Windows\SysWOW64\cryptbase.dll C:\Windows\SysWOW64\msimg32.dll C:\Windows\SysWOW64\winspool.drv C:\Windows\SysWOW64\shell32.dll C:\Windows\SysWOW64\shlwapi.dll C:\Windows\SysWOW64\comctl32.dll C:\Windows\SysWOW64\uxtheme.dll C:\Windows\SysWOW64\dwmapi.dll C:\Windows\SysWOW64\ole32.dll C:\Windows\SysWOW64\oleaut32.dll C:\Windows\SysWOW64\oledlg.dll C:\Windows\winsxs\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7600.16385_none_72fc7cbf861225ca\GdiPlus.dll C:\Windows\SysWOW64\oleacc.dll C:\Windows\SysWOW64\propsys.dll C:\Windows\SysWOW64\wininet.dll C:\Windows\SysWOW64\normaliz.dll C:\Windows\SysWOW64\urlmon.dll C:\Windows\SysWOW64\crypt32.dll C:\Windows\SysWOW64\msasn1.dll C:\Windows\SysWOW64\iertutil.dll C:\Windows\SysWOW64\imm32.dll C:\Windows\SysWOW64\msctf.dll C:\Windows\SysWOW64\winmm.dll C:\Windows\SysWOW64\guard32.dll C:\Windows\SysWOW64\fltLib.dll C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.16385_none_421189da2b7fabfc\comctl32.dll C:\Windows\SysWOW64\WindowsCodecs.dll C:\Program Files\UltraMon\RTSUltraMonHookX32.dll
Hinter jeder geladenen DLL (Ausser meiner *.exe) steht "PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden."
-
Debug doch mal rein und schauen, was da genau passiert. Und debugge auch mal in das "AfxInitRichEdit" rein und schaue nach, dass dort auch das korrekte Initialisiert wird (MSFTEDIT_CLASS )!
-
Bis zu diesem Zeitpunkt ist die msftedit.dll die für RTF 4.1 verwendet wird nicht geladen!
Auch keine andee RTF DLL... D.h. AfxInitRichEdit wurde nicht aufgerufen!Lies
http://msdn.microsoft.com/en-us/library/windows/desktop/bb787873(v=vs.85).aspx
-
Habs jetzt mit CreateEx() gelöst.
Da sind jetzt zwar andere Fehler, aber das scheint wohl was anderes zu sein, danke!