Crecordset & CRecordView in ODBC Consumer Klasse
-
Ich habe hier gerade ein Problem mit dem Klassenassi.
Ich erstelle ein neues Projekt mit dem Assi.
MDI mit Datenbankunterstützung ( ODBC ) mit Dateiauswahl.
Nach Auswahl der zugehörigen Tabelle aus einer MDB Datei, wird das Projekt einwandfrei erstellt und läuft.
Edit Felder auf dem View ( abgeleitet von CrecordView) werden angezeigt und schön ist. ( Früher konnte man mit dem Klassenassi auf dem Feld mit STRG Doppelklick direkt die Member auswählen, hat MS das weggekürzt oder fehlt das nur bei mir ?? )
Nun möchte ich eine zweite Ansicht zu dem Projekt hinzufügen. Also Klasse hinzufügen, ODBC Consumer Klasse ausgewählt und die notwendigen Angaben zur Datenbank gemacht und die Klasse HMDSet genannt.
Nun füge ich noche eine von Cdocument abgeleite HMDDoc Klasse hinzu
In dieser Klasse includiere ich die HMDSet.H Datei und lege mir eine Variable (public) hinzu :
CHMDSet m_pHMDNun will ich entsprechend den zweiten View anlegen. Also mit dem Recourceneditor den View eingefügt, den Stil auf untergeordnet eingestellt und mit dem Doppelklick den Klassenassi aufgerufen.
Hier kann ich als Basisklasse nicht CrecordView angeben, WARUM ???
Ich leite die neue Ansicht jetzt von CformView ab und erstelle auch die DocTemplate Unterstützung.
Kann ich nun in meiner Anwendung einfach CFormView durch CRecordView ersetzen, oder muß ich noch etwas beachten ??
Erst mal vielen Dank für das Lesen dieses langen Textes, vielleicht kann mir ja jemand in den unendlichen Weiten des I-Net helfen ?
Mit freundlichen Grüßen
verwegener
-
Ja. Du kannst die Basisklasse ändern.
Der Wizard erzeugt auch nur Code, den man auch manuell eingeben kann.
-
Danke für die Antwort.
Das hat soweit funktioniert, aber wenn der View angezeigt werden soll stürzt das Prog ab.
Offenbar kennt mein View nicht die Verbindung zur Datenbank.
Wenn ich jedoch in der OnInitialUpdate meine Viewklasse eine Instand zur Recordset Klasse hole und die der Membervariablen der Setklasse zuweise, funktionierts.
Aber das kann doch nicht so gewollt sein. Wo sollte den die Verbindung zur Datenbank richtiger Weise hergestellt werden ??
-
Erzeugst Du auch den View it dem korrekten Befehlen des Frameworks?
Am leichtesten geht das mit einem CDocTemplate.
-
Danke für die Anregung !!
Habe mich noch ein bißchen schlau gelesen und nun geht es !!
( Hatte auch damit zu tun, das ich aus Testgründen die beim Start von MDI Anwendungen aufpoppende Auswahlbox in meiner Testanwendung hatte ).