[…]
Ich hoffe, dass ich jetzt nicht kompletten Blödsinn
geschrieben habe, wäre toll wenn Du demnächst die Deklaration
der Variablen mit postest.
ADOXCatalog ist in diesem Fall eine Komponente vom Typ TADOXCatalog,
ich habe sie über die Komponentenleiste/ActiveX in mein Datenmodul eingefügt.
Nachdem nun diese Komponente versagt, habe ich es alternativ mit folgendem versucht:
_Catalog* Catalog = 0;
_di_IInterface mif = CreateComObject( Sysutils::StringToGUID(„ADOX.Catalog“) );
mif->QueryInterface( &Catalog );
AnsiString bs =
„Provider=Microsoft.Jet.OLEDB.4.0;“
„Data Source=‚D:\sample.mdb‘;“
„Jet OLEDB:Engine Type=5“;
wchar_t buffer[8192];
bs.WideChar(buffer,sizeof(buffer));
Catalog->Create(buffer); // access violation!!!
Auch hier gibt es an derselben Stelle eine Schutzverletzung.
Nachdem ich anfangs die Typbibliothek importiert und Wrapper-Klassen erstellt habe, habe ich nun versucht, diesen Vorgang umzukehren. Anscheinend habe ich meinen C++ Builder nun komplett durcheinander gewürfelt - was ADOX angeht => nichts geht mehr!
Ich habe versucht, die Wrapper und Import für ADOX wieder zu entfernen. Über die IDE geht das nicht direkt, deshalb habe ich das Projekt dclusr.bpl (für Benutzerkomponenten) von ADOX befreit. Nach dem neuen Import habe ich jetzt zwar wieder die TADOXCatalog, … Komponenten in der Palette, beim kompilieren kann er mit TADOXCatalog nicht anfangen, da er den Typ nicht kennt. Im Header ADOX_OCX.h ist dieser aber als Package definiert, allerdings im namespace „Adox_tlb“.
Kannst du mir vielleicht einen Tipp geben, wie ich mein System wieder hin bekommen? Oder muss ich alles neu installieren?
Danke und Gruß
Markus