zugriff auf ein klasse
-
In
void Sensor::OnSchreiben()
wird eine ganz neue Instanz von CFinalV1View erstellt. Damit wird dann
void CFinalV1View::OnSuchen(int m_a)
aufgerufen. Könnte es evtl. möglich sein, dass m_pSet dann ebenfalls ganz neu ist und somit keinen gültigen Wert besitzt ?
-
ich werde so machen.
hallo.m_bew=m_bew; // übergeben m_bew variable direkt an funktion
hallo.OnSuchen(2 , m_bew);
dann mußt du die OnSuchen function ändern daß sie 2 parameter annehmen kann
der fehler Access Violation kommt ammeisten wenn was stimmt nicht mit der nafang oder ende der tablen oder was stimmt nicht mit den bearbeiteten Werte . ich denke an m_bew.
-
das könnte sein ich weiß es nicht wie kann ich das überprüfen?
-
ich werde so machen.
hallo.m_bew=m_bew; // übergeben m_bew variable direkt an funktion
hallo.OnSuchen(2 , m_bew);
dann mußt du die OnSuchen function ändern daß sie 2 parameter annehmen kann
der fehler Access Violation kommt ammeisten wenn was stimmt nicht mit der nafang oder ende der tablen oder was stimmt nicht mit den bearbeiteten Werte . ich denke an m_bew.
-
danke erstmal
ich habe das geendert aber der fehler ist immer noch da !!!
-
schau mal ob du sätze in der tabelen hast. es darf die table nicht leer sein.
-
ja in der datenbank was drin und wenn ich die funktion unter der view klasse aufrufe geht das auch
-
die view klasse ist mit recordset verbunden dann benutzen wir
m_pSet->MoveFirst();wenn du in andern klasse bist, die nicht mit crecordset ist.
dann benutzeandereklasse::MoveFirst();
und nicht m_pSet->MoveFirst();es funktioniert immer bei mir
-
ich bekomme nicht die auswahl das ich MoveFirst() als funktion einfügen kann
liegt vielleicht daran das die basis klasse von meinen 2.Klasse nicht vom type CRecordView ist sonder von Typ Dialogich brauche aber den Type Dialog weil sonnst kann ich nicht DoModal() ausführen um mein dialog fester zu öffnen.
kannst du mir vielleicht ein Beispiel geben?
-
mach ein neues projekt , das mit einer table in DB verbindet. ...SDI...
im klassen ansicht eine neue klasse MFC klasse erstellen die mit zweite tbl verbunden ist.....dynaset ist wichtig
eine funktion einfügen.void neueklasse::tuewas() { neueklasse::MoverFirst(); while(!neueklasse::isEOF()); { if(m_Name == "dokdok") { neueklasse::Delete(); break; } else { neueklasse::MoveNext(); } } }//in der viewklasse # include "neueklasse.h" void viewklasse::deletedokdok() { Cneueklasse neueklasseVariable; neueklasseVariable.tuewas(); }
-
danke
ich werde das gleich mal probierenwenn ich das anderes herum machen will also aus der neuenklasse auf die view müsste ja auch gehen oder ?
-
glaube ich nicht. ich denke in einer richtung nur.
habe einmal versucht ....fehlgeschlagen.die best lösung.
viewklasse ist unabhängig von der DB und füge extra 2 klassen für die 2 tbl und verwalte der prozess durch die viewklasse.viewklasse
| |
tbl_1_klasse tbl_2_klassewenn du den verkeher hin und her zwischen die beiden tbl klassen möchtest dann durch viewklasse mit # include "headerklasse1.h"
# include "headerklasse2.h"wenn in einer richtung dann wie ich vorher gemacht
-
danke
ich glaube ich bin zu doof dafür das mit den zwei klassen raffe ich noch nicht
ein beispiel wäer wieder schon nur wennes keine umstände macht