Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.net  
   

Die mobilen Seiten von c++.net:
https://m.c-plusplus.net

  
C++ Forum :: MFC (Visual C++) ::  Nach Migration auf VS 2017: LoadToolBar(..) hat einen Haltepunkt ausgelöst  
Gehen Sie zu Seite Zurück  1, 2
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
elmut19
Mitglied

Benutzerprofil
Anmeldungsdatum: 03.12.2013
Beiträge: 121
Beitrag elmut19 Mitglied 14:02:53 07.12.2017   Titel:              Zitieren

Stimmt!
Ich bin in der Zeile verrutscht.
Es wird "CToolBar::AddReplaceBitmap(..)", Zeile 433 in bartool.cpp,
Anweisung: "VERIFY(::GetObject(hbmImageWell, sizeof(BITMAP), &bitmap));"
aufgerufen.
Und "hbmImageWell" ist NULL.

RC2247:
Aber leider hat das "#ifndef RC_INVOKED" in der StdAfx.h nicht geholfen,
den Resource-Editor dazu zu bringen, die .rc-Datei zu öffnen.

Zu lange Namen, Bezeichner, Pfade,... gehören in die Zeit von MS-DOS 1985,
aber nicht in 2017.


Zuletzt bearbeitet von elmut19 am 14:11:44 07.12.2017, insgesamt 2-mal bearbeitet
Martin Richter
Moderator

Benutzerprofil
Anmeldungsdatum: 18.04.2006
Beiträge: 15366
Beitrag Martin Richter Moderator 14:56:21 07.12.2017   Titel:              Zitieren

Du musst herausfinden welche include Datei es ist...

_________________
Martin Richter (MVP für C++ von 2000 bis 2015) WWJD http://blog.m-ri.de
"A well-written program is its own heaven; a poorly written program is its own hell!" The Tao of Programming
elmut19
Mitglied

Benutzerprofil
Anmeldungsdatum: 03.12.2013
Beiträge: 121
Beitrag elmut19 Mitglied 15:14:07 07.12.2017   Titel:              Zitieren

... dann muss ich das wohl aufgeben.
oder auf ein funktionierendes Visual Studio warten ...

.. zumal das momentan nicht der Fehler ist, der meine Arbeit blockiert.

Trotzdem vielen Dank


Zuletzt bearbeitet von elmut19 am 15:17:19 07.12.2017, insgesamt 1-mal bearbeitet
Martin Richter
Moderator

Benutzerprofil
Anmeldungsdatum: 18.04.2006
Beiträge: 15366
Beitrag Martin Richter Moderator 15:39:07 07.12.2017   Titel:              Zitieren

elmut19 schrieb:
... dann muss ich das wohl aufgeben.
oder auf ein funktionierendes Visual Studio warten ...

.. zumal das momentan nicht der Fehler ist, der meine Arbeit blockiert.


Also ich hatte noch nie solche Probleme. Sende mir doch mal dein RC Datei und die resource.h, wenn das kein Geheimnis ist.

_________________
Martin Richter (MVP für C++ von 2000 bis 2015) WWJD http://blog.m-ri.de
"A well-written program is its own heaven; a poorly written program is its own hell!" The Tao of Programming
elmut19
Mitglied

Benutzerprofil
Anmeldungsdatum: 03.12.2013
Beiträge: 121
Beitrag elmut19 Mitglied 17:45:57 07.12.2017   Titel:              Zitieren

Vielen Dank, Martin.
Das Angebot nehme ich gerne an.
elmut19
Mitglied

Benutzerprofil
Anmeldungsdatum: 03.12.2013
Beiträge: 121
Beitrag elmut19 Mitglied 11:05:53 08.12.2017   Titel:              Zitieren

Zumindest das RC2247 Problem der Migration wäre nun gelöst.

Martin war so hilfsbereit, sich die Resource-Dateien anzusehen.
Dabei hatte er bemerkt, dass es in meinem Projekt eine Datei

"newres.h" ( bei mir seit 2004 vorhanden und unverändert ) gibt.

Diese enthielt nur einige "#define" Anweisungen, die allerdings in den neuen Visual Studios schon integriert sind.
Ich habe die "#include"´s auf diese Datei aus meiner ".rc" Datei rausgenommen und kann den Resource Editor nun im VS2017 öffnen.

Und Dank VS2017 sind die guten alten Zeiten wieder zurück, wo man während des
Build-Vorgangs mal kurz zum Einkaufen gehen konnte! (gegenüber VS2005)

Und die ToolBar zickt im Debugger immernoch rum.

Danke nochmal
Grüsse Helmut


Zuletzt bearbeitet von elmut19 am 12:49:14 08.12.2017, insgesamt 2-mal bearbeitet
Martin Richter
Moderator

Benutzerprofil
Anmeldungsdatum: 18.04.2006
Beiträge: 15366
Beitrag Martin Richter Moderator 13:59:16 08.12.2017   Titel:              Zitieren

Callstack von dem ToolBar Problem bitte mal... ;)

_________________
Martin Richter (MVP für C++ von 2000 bis 2015) WWJD http://blog.m-ri.de
"A well-written program is its own heaven; a poorly written program is its own hell!" The Tao of Programming
elmut19
Mitglied

Benutzerprofil
Anmeldungsdatum: 03.12.2013
Beiträge: 121
Beitrag elmut19 Mitglied 16:39:32 08.12.2017   Titel:              Zitieren

Der Callstack vom ersten Halt der Toolbar:

> mfc140ud.dll!CToolBar::AddReplaceBitmap(HBITMAP__ * hbmImageWell) Zeile 433 C++ Nichtbenutzercode. Symbole wurden geladen.
mfc140ud.dll!CToolBar::LoadBitmapW(const wchar_t * lpszResourceName) Zeile 407 C++ Nichtbenutzercode. Symbole wurden geladen.
mfc140ud.dll!CToolBar::LoadToolBar(const wchar_t * lpszResourceName) Zeile 382 C++ Nichtbenutzercode. Symbole wurden geladen.
mfc140ud.dll!CToolBar::LoadToolBar(unsigned int nIDResource) Zeile 98 C++ Nichtbenutzercode. Symbole wurden geladen.
Titan2.exe!CMainFrame::CreateToolBar(int bOldDesign) Zeile 166 C++ Symbole wurden geladen.
Titan2.exe!CMainFrame::OnCreate(tagCREATESTRUCTW * lpCreateStruct) Zeile 272 C++ Symbole wurden geladen.
[Externer Code] Frame mit Anmerkungen
Titan2.exe!CTitanCeApp::InitInstance() Zeile 642 C++ Symbole wurden geladen.
[Externer Code] Frame mit Anmerkungen
Titan2.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpCmdLine, int nCmdShow) Zeile 26 C++ Symbole wurden geladen.
[Externer Code] Frame mit Anmerkungen


Dann klicke ich im Debugger auf weiter.
Dann kommt gleich nochmal ein solcher Halt:

> mfc140ud.dll!CToolBar::AddReplaceBitmap(HBITMAP__ * hbmImageWell) Zeile 433 C++ Nichtbenutzercode. Symbole wurden geladen.
mfc140ud.dll!CToolBar::LoadBitmapW(const wchar_t * lpszResourceName) Zeile 407 C++ Nichtbenutzercode. Symbole wurden geladen.
mfc140ud.dll!CToolBar::LoadToolBar(const wchar_t * lpszResourceName) Zeile 382 C++ Nichtbenutzercode. Symbole wurden geladen.
mfc140ud.dll!CToolBar::LoadToolBar(unsigned int nIDResource) Zeile 98 C++ Nichtbenutzercode. Symbole wurden geladen.
Titan2.exe!CMainFrame::LoadToolBar(int iToolBarNew, int iToolBarOld, int bIsOldDesign) Zeile 228 C++ Symbole wurden geladen.
Titan2.exe!CTitanCeApp::_SwitchToolbars(CBaseAnlage * pAnlage, CViewTitanCe * pView, int bBedingung, int bOldDesign, int bDoSwitch) Zeile 481 C++ Symbole wurden geladen.
Titan2.exe!CTitanCeApp::On_Update_Buttons(CCmdUI * pCmdUI) Zeile 633 C++ Symbole wurden geladen.
[Externer Code] Frame mit Anmerkungen
Titan2.exe!CMainFrame::OnCmdMsg(unsigned int nID, int nCode, void * pExtra, AFX_CMDHANDLERINFO * pHandlerInfo) Zeile 486 C++ Symbole wurden geladen.
[Externer Code] Frame mit Anmerkungen
Titan2.exe!CTitanCeApp::UpdateToolbar() Zeile 953 C++ Symbole wurden geladen.
[Externer Code] Frame mit Anmerkungen
Titan2.exe!CMainFrame::OnCmdMsg(unsigned int nID, int nCode, void * pExtra, AFX_CMDHANDLERINFO * pHandlerInfo) Zeile 486 C++ Symbole wurden geladen.
[Externer Code] Frame mit Anmerkungen
Titan2.exe!CTitanCeApp::Run() Zeile 141 C++ Symbole wurden geladen.
[Externer Code] Frame mit Anmerkungen
Titan2.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpCmdLine, int nCmdShow) Zeile 26 C++ Symbole wurden geladen.
[Externer Code] Frame mit Anmerkungen


Ebenfalls wieder auf "Weiter" und in der Anwendung über Toolbar-Button die nächste Programmebene anwählen:

> mfc140ud.dll!CToolBar::AddReplaceBitmap(HBITMAP__ * hbmImageWell) Zeile 433 C++ Nichtbenutzercode. Symbole wurden geladen.
mfc140ud.dll!CToolBar::LoadBitmapW(const wchar_t * lpszResourceName) Zeile 407 C++ Nichtbenutzercode. Symbole wurden geladen.
mfc140ud.dll!CToolBar::LoadToolBar(const wchar_t * lpszResourceName) Zeile 382 C++ Nichtbenutzercode. Symbole wurden geladen.
mfc140ud.dll!CToolBar::LoadToolBar(unsigned int nIDResource) Zeile 98 C++ Nichtbenutzercode. Symbole wurden geladen.
Titan2.exe!CMainFrame::LoadToolBar(int iToolBarNew, int iToolBarOld, int bIsOldDesign) Zeile 228 C++ Symbole wurden geladen.
Titan2.exe!CTitanCeApp::Liste(unsigned short wWas, unsigned short wSelectPos, unsigned short wLogSelect) Zeile 703 C++ Symbole wurden geladen.
Titan2.exe!CTitanCeApp::GrafikReadVerzeichnisAuswahl(int bIncludeBackup, int bGrafikArchivAktiv, int bComesFromEinstellungen) Zeile 1822 C++ Symbole wurden geladen.
Titan2.exe!CTitanCeApp::Grafik(int bGrafikArchivAktiv) Zeile 2260 C++ Symbole wurden geladen.
Titan2.exe!CTitanCeApp::BenutzerAbfrage_Grafik() Zeile 350 C++ Symbole wurden geladen.
[Externer Code] Frame mit Anmerkungen
Titan2.exe!CMainFrame::OnCmdMsg(unsigned int nID, int nCode, void * pExtra, AFX_CMDHANDLERINFO * pHandlerInfo) Zeile 486 C++ Symbole wurden geladen.
[Externer Code] Frame mit Anmerkungen
Titan2.exe!CBarTool::OnLButtonUp(unsigned int nFlags, CPoint point) Zeile 151 C++ Symbole wurden geladen.
[Externer Code] Frame mit Anmerkungen
Titan2.exe!CTitanCeApp::Run() Zeile 141 C++ Symbole wurden geladen.
[Externer Code] Frame mit Anmerkungen
Titan2.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpCmdLine, int nCmdShow) Zeile 26 C++ Symbole wurden geladen.
[Externer Code] Frame mit Anmerkungen

Und so geht das dann immer weiter.
Martin Richter
Moderator

Benutzerprofil
Anmeldungsdatum: 18.04.2006
Beiträge: 15366
Beitrag Martin Richter Moderator 09:48:56 11.12.2017   Titel:              Zitieren

Dann trace mal in den ersten Fall rein, ab CreateToolBar.
Da muss doch was fehlen, wenn AddReplaceBitmap einen ASSERT liefert!
Mit der Bitmap stimmt dann doch was nicht...

_________________
Martin Richter (MVP für C++ von 2000 bis 2015) WWJD http://blog.m-ri.de
"A well-written program is its own heaven; a poorly written program is its own hell!" The Tao of Programming
elmut19
Mitglied

Benutzerprofil
Anmeldungsdatum: 03.12.2013
Beiträge: 121
Beitrag elmut19 Mitglied 10:05:29 12.12.2017   Titel:              Zitieren

Danke Martin,

ich werde da nochmal genauer durchgehen.
Ich werde vor allem versuchen, an der Stelle auf die neuen Microsoft Toolbar-Klassen zu wechseln.
So kann ich auch unnötigen Code abbauen.
Die neuen Klassen scheinen ja nun das zu können, was ich brauche.

Momentan habe ich kurzzeitige eine andere Baustelle, die mich wohl noch
den Grossteil dieser Woche in Anspruch nehmen wird.

Vielen Dank nochmal für die Hilfe.
Es hat mich um Einiges weitergebracht.
Grüsse
Helmut
C++ Forum :: MFC (Visual C++) ::  Nach Migration auf VS 2017: LoadToolBar(..) hat einen Haltepunkt ausgelöst  
Gehen Sie zu Seite Zurück  1, 2
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.net ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.