EventHandling im C++ Builder 6
-
Hallo,
ich habe ein Objekt TADOConnection zur Laufzeit erzeugt:
TADOConnection *objConnection;
objConnection = new TADOConnection(NULL);wie schaffe ich es nun auf die Ereignisse des Objektes zuzugreifen ?
Vielen Dank für Eure Mühe
Gruß
Thomas
-
Hallo,
Hast du die Antwort im C++-Forum gelesen?
http://www.c-plusplus.net/forum/viewtopic-var-t-is-121786.html
-
Danke für deine Antwort ...
Ich habe es mal probiert wie im Beispiel angegeben, es funktioniert aber nicht.static TADOConnection *objConnection;
static TADOTable *objTable;
static TDataSource *objDataSource;
//---------------------------------------------------------------------------#pragma package(smart_init)
class Hawk
{
private:
*void __fastcall objConnection::OnAfterConnect(TObject Sender)
{
};public:
TDataSource* connect(AnsiString strTable)
{
objConnection = new TADOConnection(NULL);
objConnection->AfterConnect = OnAfterConnect;
objTable = new TADOTable(NULL);
objDataSource = new TDataSource(NULL);objConnection->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Dokumente und Einstellungen\\tkr\\Desktop\\BorlandProjects\\AxErrorInfo.mdb;Mode=ReadWrite;Persist Security Info=False";
objConnection->LoginPrompt = false;
objTable->Connection = objConnection;
objTable->TableName = strTable;
objDataSource->DataSet = objTable;return(objDataSource);
}
};Ich bekomme aber immer die Fehlermeldung:
[C++ Fehler] Unit2.cpp(23): E2090 Qualifizierer 'objConnection' ist kein Name einer Klasse oder einer Struktur
Irgendwie raff ich das mit den dynamischen Events nicht ...
!
Habe schon das halbe Forum nach einer Lösung abgegrast ...Hat jemand von euch ebenfalls schonmal Events dynamisch generiert ?
-
OnAfterConnect gehört ja auch nicht zu objConnection. Außerdem ist objConnection ja der Name der Instanz und nicht der Name der Klasse. Lass das objConnection:: einfach mal weg.
Warum sind die Variablen eigentlich global und static?
-
Ja jetzt geht es *glücklich sein*
jetzt ist mir das auch klar mit der Bindung ok.Wenn ich jetzt aber ein eigenes event in der Klasse definiere und dieses
Event nach ausen reichen will in die Klasse, die meine Klasse mit dem Event instanziert hat, wie mache ich das ?Aber ich danke euch allen sehr das Ihr mir geholfen habt.
-
Warum willst du das Event denn nach außen reichen? Mir ist nicht so recht klar was du vor hast.
Ansonsten informiere dich mal über Methodenpointer. Etwas anderes ist das nämlich nicht.