Announcement

Collapse
No announcement yet.

BDE-Callback für AddIndex möglich?

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

  • BDE-Callback für AddIndex möglich?

    Hallo,

    ich möchte während eines längeren AddIndex auf einer Paradox-Tabelle gerne den Fortschritt anzeigen. Ist das mit einer BDE-Callbackfunktion überhaupt möglich?
    Ich habe die Callbackfunktion erstellt und mittels DBIRegisterCallback angemeldet. Die Funktion wird jedoch nie aufgerufen.
    Liegt das daran, dass evtl. AddIndex nicht über eine Callbackfunktion beobachtet werden kann oder könnte es daran liegen, dass ich nicht die Standard-Session sondern eine separate TSession-Komponente verwende?
    Ich habe auch versucht, erst nach dem Erstellen der neuen TSession und Zuweisen der Session an meine TTable-Komponente das Handle der TTable als ersten Parameter an DBIRegisterCallback zu übergeben:

    <pre>
    function ProgressCallBack(ecbType:CBType; cliData:Longint; CBInfo:Pointer):CBRType stdcall;
    begin
    if progr.iPercentDone > 0 then
    IndexForm.ProgressBar2.Position := progr.iPercentDone
    else
    IndexForm.BDECallbackText.Caption := progr.szMsg;
    ProgressCallBack:=cbrContinue;
    Application.ProcessMessages;
    end;
    </pre>
    und dann später:
    <pre>
    ...
    Sessionr.SessionName:='SR';
    Sessionr.open;
    with Table1 do
    begin
    SessionName:='SR';
    TableName:='Adressen.db';
    IndexName:='';
    // CallBackfunktion einrichten
    Res := DbiRegisterCallBack(Table1.Handle, cbGenProgress, 0,sizeof(progr),@progr,ProgressCallBack);
    ...
    </pre>

    Leider blieb auch das ohne Erfolg.

    Danke für jeden Tipp, auch wenn's nur die Bestätigung sein sollte, dass ich nicht weiter suchen muss, weil AddIndex nicht über Callback beobachtet werden kann.

    Siegbert
Working...
X