Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Forentreff 2012     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: MFC (Visual C++) ::  Problem mit static_downcast  
Gehen Sie zu Seite Zurück  1, 2
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
David_pb
Mitglied

Benutzerprofil
Anmeldungsdatum: 09.10.2005
Beiträge: 1999
Beitrag David_pb Mitglied 08:36:44 01.09.2010   Titel:              Zitieren

Problemcaster schrieb:
GetActiveDocument liefert mir eine Speicheradresse. Aber beim Aufruf von GetActiveDocument()->IsKindOf(RUNTIME_CLASS( CMyDoc )) kracht er auch an die Wand.


Was meinst du mit "kracht an die Wand". Schlägt ne Assertion zu oder was? Gibts keine Detailiertere Fehlerbeschreibung?
Martin Richter
Moderator

Benutzerprofil
Anmeldungsdatum: 18.04.2006
Beiträge: 13517
Beitrag Martin Richter Moderator 08:58:50 01.09.2010   Titel:              Zitieren

Problemcaster schrieb:
Martin Richter schrieb:
Lass das Doc eine Nachricht an AfxGetMainWnd senden...
Ich seheda kein Problem. Keine Klasse muss in diesem Fall was voneinander wissen...


Du meinst also mit Sendmessage/Postmessage das Mainframe informieren und als Parameter den Messwert übergeben?


Ja! Es gibt auch Tausend andere Möglichkeiten:
Dein Thread sendet dem Mainframe eine Nachricht und gibt einen Interface zeiger zurück mit dem Du die Statuszeile bearbeitest.

Zumindest gibt es x-Möglichkeiten in dem nicht die eine Klasse alles von der anderen wissen muss und Abhängigkeiten geschafen werden, die nicht sein müssen...

_________________
Martin Richter (MVP für C++) 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
Martin Richter
Moderator

Benutzerprofil
Anmeldungsdatum: 18.04.2006
Beiträge: 13517
Beitrag Martin Richter Moderator 08:59:41 01.09.2010   Titel:              Zitieren

David_pb schrieb:
Problemcaster schrieb:
GetActiveDocument liefert mir eine Speicheradresse. Aber beim Aufruf von GetActiveDocument()->IsKindOf(RUNTIME_CLASS( CMyDoc )) kracht er auch an die Wand.


Was meinst du mit "kracht an die Wand". Schlägt ne Assertion zu oder was? Gibts keine Detailiertere Fehlerbeschreibung?


Wenn GetActiveDocument() NULL liefert, dann muss Dein Code auch zu einem Crash führen... und das ist hier das Problem. GetActiveDocument liefert NULL!

_________________
Martin Richter (MVP für C++) 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
David_pb
Mitglied

Benutzerprofil
Anmeldungsdatum: 09.10.2005
Beiträge: 1999
Beitrag David_pb Mitglied 09:00:51 01.09.2010   Titel:              Zitieren

Martin Richter schrieb:
David_pb schrieb:
Problemcaster schrieb:
GetActiveDocument liefert mir eine Speicheradresse. Aber beim Aufruf von GetActiveDocument()->IsKindOf(RUNTIME_CLASS( CMyDoc )) kracht er auch an die Wand.


Was meinst du mit "kracht an die Wand". Schlägt ne Assertion zu oder was? Gibts keine Detailiertere Fehlerbeschreibung?


Wenn GetActiveDocument() NULL liefert, dann muss Dein Code auch zu einem Crash führen... und das ist hier das Problem. GetActiveDocument liefert NULL!


Das bestreitet Problemcaster ja permanent.
Problemcaster
Unregistrierter




Beitrag Problemcaster Unregistrierter 09:24:54 01.09.2010   Titel:              Zitieren

Martin Richter schrieb:
Wenn GetActiveDocument() NULL liefert, dann muss Dein Code auch zu einem Crash führen... und das ist hier das Problem. GetActiveDocument liefert NULL!


Ja eben nicht. GetActiveDocument liefert 0x00411479. Blöd ist, dass das eben nicht die gleiche Adresse ist die GetDocument im CView zurück gibt.

David_pb schrieb:
Was meinst du mit "kracht an die Wand". Schlägt ne Assertion zu oder was? Gibts keine Detailiertere Fehlerbeschreibung?


Ja, es gibt einen Assert.
David_pb
Mitglied

Benutzerprofil
Anmeldungsdatum: 09.10.2005
Beiträge: 1999
Beitrag David_pb Mitglied 10:00:03 01.09.2010   Titel:              Zitieren

Was für eins? Die Dinger sind dazu da das man Informationen aus ihnen ziehen kann...
Problemcaster
Unregistrierter




Beitrag Problemcaster Unregistrierter 10:21:07 01.09.2010   Titel:              Zitieren

David_pb schrieb:
Was für eins? Die Dinger sind dazu da das man Informationen aus ihnen ziehen kann...


Das ist nicht das Problem. Ich möchte eigentlich eine Erklärung, warum STATIC_DOWNCAST einen NULL-Zeiger zurückgibt. Laut Beschreibung müsste in der Debug-Version ein ASSERT kommen, wenn er es nicht umwandeln kann.
David_pb
Mitglied

Benutzerprofil
Anmeldungsdatum: 09.10.2005
Beiträge: 1999
Beitrag David_pb Mitglied 12:36:58 01.09.2010   Titel:              Zitieren

Dann step eben mal durch, da wirst du sehen wo's hakt.
C/C++ Forum :: MFC (Visual C++) ::  Problem mit static_downcast  
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++.de 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, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de 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.