Hallo und danke erstmal fürs mitdenken...
Ich habe mal zu allen Events von ADOConArt einen Text erstellt, damit ich selber weiß, welche Abfolge da drankommt:
Code:
: Beforeconnect
: OnWillConnect
: OnLogin
: OnInfoMessage, Error: Ein aus mehreren Schritten bestehender Vorgang wurde mit mindestens einem Fehler abgeschlossen. Prüfen Sie die einzelnen Statuswerte.
: Afterconnect
: OnWillExecute
...und dann hängt es. Wie bekomme ich heraus, was da oben für ein Fehler (an dem es wohl scheitert) passiert ist?
@Sven: ich bin bemüht, eine .xlsX-Datei einzulesen; aber auch die normalen .xls hängen dort:
Zitat:
Zitat:
Delphi-Quellcode:
// Zuweisen der Tabellenzeilen
iMaxRows := ADODataSet1.RecordCount;
Hier hängt es dann und kehrt nicht zurück.
könnte es sein, daß CommandType := cmdText; fehlt?
und was sagt der Debugger?
Leider hat das auch nichts geändert...
Programm bleibt an dieser Stelle mit 50% Prozessorlast hängen und kommt von dort nicht zurück.
Kann es sein, daß nach dem ADODataSet1.Open die Eigenschaften DataSetField und DataSource weiter auf NIL stehen (könnte ja sein, daß das normal ist)?
Welche weiteren Eigenschaften in den Komponenten könnte ich falsch eingestellt haben (bei meinen verpeilten Versuchen)?
Delphi-Quellcode:
//Für ADODataSet1-Komponente
CursorType:= ctStatic; //irgendwo las ich, das man das tun sollte
ExecuteOptions:= [eoAsyncExecute,eoAsyncFetch,eoAsyncFetchNonBlocking];
//Ich wollte eine Progressbar während dem Einlesen haben, weil die Datei so groß ist - aber das funktioniert auch nicht ...
lockType:= ltReadOnly; //ich wills ja nur lesen
//Für ADOConArt-Komponente
ConnectionTimeOut:=1200;
ConnectOptions:= coAsyncConnect;
LoginPrompt:=false;
Mode:= cmRead;
Provider:=Microsoft.ACE.OLEDB.12.0; //Wird dann ja im Quelltext bei XLS-Dateien geändert auf "Microsoft.Jet.OLEDB.4.0", um beide Typen abzudecken.