Wie kann ich in ein CRichEditView eine Excel Datei Anzeigen lassen?
-
Hi Leute,
habe oben beschriebenes Problem und habe mit der Funktion InsertFileAsObject() versucht eine Excel Datei in der CRichEditView Anzeigen zu lassen. Leider bekomme ich immer einen DEBUG ASSERTION FAILURE. Kann mir da einer von euch Helfen?
Danke im voraus
C u
-
Drück mal "Wiederholen" und zeig, wo du landest.
Vielleicht siehst du es aber schon selber.
-
Also ich ruf die Funktion in der View Klasse so auf:
void CTestView::a()
{
InsertFileAsObject("C:\\Datenkommunikation\\DatenkommunikationVSFSKS.xls");
}Und bekommen nach dem Debuggen dan diese Fehlermeldungen:
Geladene Symbole für "C:\Programme\Microsoft Visual Studio\MyProjects\test\Debug\test.exe"
"C:\WINDOWS\system32\ntdll.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\kernel32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\user32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\gdi32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\advapi32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\rpcrt4.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\comdlg32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\SHLWAPI.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\msvcrt.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\comctl32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\shell32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\winspool.drv" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\oledlg.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\ole32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\olepro32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\oleaut32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.1612_x-ww_7c379b08\comctl32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\msctf.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\riched32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\riched20.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\apphelp.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\version.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
Thread 0x3C4 wurde mit Code 0 (0x0) beendet.
Thread 0xF44 wurde mit Code -2147483645 (0x80000003) beendet.
Thread 0x59C wurde mit Code -2147483645 (0x80000003) beendet.
Thread 0x4F0 wurde mit Code -2147483645 (0x80000003) beendet.
Das Programm "c:\Programme\Microsoft Visual Studio\MyProjects\test\Debug\test.exe" wurde mit Code -2147483645 (0x80000003) beendet.Hoffe es kann einem von euch weiterhelfen, weil ich steh nämlich irgendwie auf dem Schlauch.
Thx
C u
-
Das sind keine Fehlermeldungen.
Das "Es wurden keine entsprechenden Symbolinformationen gefunden. " ist nur eine Info für dich, dass du von den Modulen keinen Quelltext hast. Nix wirklich wichtiges.
Das
Thread 0xF44 wurde mit Code -2147483645 (0x80000003) beendet.
ist da schon schlechter, aber immer noch kein Grund für den Fehler.
Mach bitte das, was ich gestern geschrieben habe und dann schaun wir mal.
-
Also habe das gemacht was du mir gsagt hast und bekomme folgende Fehlermeldungen:
Die Ausnahme "unknown Software exception (0x80000003) ist in der Anwendung an der Stelle 0x004c90ea aufgetreten.
0xc0000005: Access Violation
Benutze ich die Funktion eigentlich richtig? Dachte ich könnte in der View Klasse meines SDI Projektes diese Funktion einfach so aufrufen wie oben beschrieben und sie lädt mir das Excel Blatt als OLE in meine CRichEditView.
So und nicht anders habe ich das aus der MSDN.
Vielleicht hast du ja noch eine Idee???
danke im voraus
C u
-
Iceman999 schrieb:
Leider bekomme ich immer einen DEBUG ASSERTION FAILURE.
Bei der Meldung gibt es den Knopf "Wiederholen" oder im Englischen "Retry".
Wenn du da drauf drückst, landest du irgendwo im Quellcode an einer Zeile wo
ASSERT(/*irgendwas, was nicht okay ist*/);
steht. Die Zeile ist im Zusammenhang mit dem Callstack interessant.
Zum RichEdit selber kann ich dir leider nicht so wirklich helfen, das müßte ich selber erstmal genauer angucken.
-
Also hoffe du kannst damit was anfangen:
_AFXRICH_INLINE CRichEditDoc* CRichEditView::GetDocument() const
{
--HIER--> ASSERT(m_pDocument != NULL);
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CRichEditDoc)));
return (CRichEditDoc*)m_pDocument;
}Lande genau hier laut debugger. Sagt mir aber irgendwie nicht so viel....
Thx
Cu
-
Der View kennt sein Document noch nicht.
Du versuchst wahrscheinlich einfach zu früh etwas zu tun.Schau doch mal den Callstack hoch, wo du in dir bekannten Quellcode kommst.
-
wer suchet der Findet. Dank deinem Lösungsansatz habe ich das Problem lösen können. Es war wirklich so das die View das Dokument noch nicht kannte.
Danke nochmal!!!