Announcement

Collapse
No announcement yet.

DLL mit ADO Problem

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DLL mit ADO Problem

    Hallo liebe Entwickler und Delphianer,

    ich habe seit Tagen ein problem, bei welchem ich nicht mehr weiter weis. Es geht um folgendes:

    Ich habe eine DLL die eine Klasse kapselt, welche für Datenbankzugriffe zuständig ist. Als Verbindungsobjekte nutzt die Klasse die ADO Klassen TADOConnection und TADOQuery.

    Es gibt generel zwei Datenbanken auf welche aus der DLL zugegriffen wird: eine lokale Access (MDB) und eine globale MSSQL (MDF). Beide werden von der Klasse in der DLL, zur Laufzeit erstellt falls nicht vorhanden. Wenn ich die ADOConnection nach einer erfolgreichen Verbindung zur Datenbank wieder Disconnecten möchte um mich zu der anderen Datenbank zu verbinden, hängt sich mein Programm auf ohne irgendwelche Exceptions oder ähnliches. Es passiert einfach nichts mehr. Der Debugger steht nach der Zeile AdoConnection.Close; und meine Anwendung auch. Erzeugt wird die MDB über ADOX und die MSSQL über SQL. Hier der Code zur erstellung der MDB:

    function CreateDB(const Database: string): boolean
    var

    cat: _Catalog;

    begin

    Result := false;

    if checkPath(Database) then //lokale Funktion Pfad anlegen

    begin

    try

    cat := CoCatalog.Create;

    cat.Create( 'Provider=Microsoft.Jet.OLEDB.4.0;'+
    'Data Source=' + Database +
    ';Jet OLEDB:Engine Type=5' );

    cat := nil;

    if DatabaseHandle.DBConnect then //Verbinden zur Datenbank

    Result := DatabaseHandle.CreateTables; //Tabellen erzeugen

    except

    end;

    end;

    Weis den einer warum ich mich nicht mehr disconnecten kann und mein Prog hängt?

    Ich hoffe mir kann einer schnell helfen, den die Zeit für das Projekt drängt sehr.

    Vielen Dank im Voraus,

    MFG
Working...
X