Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Delphi2006 DBase-Index (https://www.delphipraxis.net/62535-delphi2006-dbase-index.html)

DelphiAndreas 6. Feb 2006 06:57

Datenbank: DBase • Zugriff über: BDE

Delphi2006 DBase-Index
 
Hallo,

ich habe bisher folgende Funktion für das erzeugen von fehlenden Indizes meiner Dbase-Datebanken benutzt. Die stammt noch von der Borland-Homepage.

Delphi-Quellcode:
function myfunc(ecbType : CBType; iClientData : LongInt;
  pCbInfo : pCBInputDesc): CBRType; stdcall;
const
  READONLY = 'Im Nur-Lesen-Modus öffnen';
  FAILOPEN = 'Fehler beim Öffnen'; //The default
  OPENANDDETACH = 'Öffnen und lösen';
var
  counter : Integer;
begin
  case ecbtype of
    cbINPUTREQ: //It's a callback of cbINPUTREQ type
      if (pcbInfo.eCbInputId = cbiMDXMIssing) then
      begin
        for counter:=0 to (pcbInfo.iCount - 1) do

          if (pcbInfo.acbEntry[counter].szKeyword = OPENANDDETACH) then
          begin
            pcbInfo.iSelection := counter+1;
            pcbInfo.bSave := false;
            break;
          end;
      end

      else //if
        ShowMessage('Unexpected eCbInputId');
      else //case
    ShowMessage('Unexpected ecbType')
  end;
end;
Seit meinem Umstieg auf Delphi2006 sagt er mir, dass er CBType und CBRType und ein paar Andere nicht kennt. Muss da jetzt noch was in die Uses? Wie gesagt früher hats funktioniert :-)

Gruß
Andreas

DelphiAndreas 6. Feb 2006 08:33

Re: Delphi2006 DBase-Index
 
Ich hab jetzt schon herausgefunden, dass es eine Klasse namens TBDECallback gibt, die für diese Funktion wohl vorher initialisiert werden muss.

Außerdem muss ich irgendwo
Delphi-Quellcode:
type TBDECallback = class (System.TObject);
einfügen, weiß aber nicht genau wo das geschehen soll :gruebel:

Wäre schön, wenn mir da jemand helfen könnte

Gruß
Andreas

EDIT: Eigentlich müsste ich auch nur wissen wie ich am besten einen neuen Index für eine DBase-Datenbank erstelle. :mrgreen:

DelphiAndreas 6. Feb 2006 12:21

Re: Delphi2006 DBase-Index
 
:wall:

Ich komm grad kein Stück weiter: Wie erstelle ich beim öffnen einer DBase-Datenbank einen Index für diese? Im Moment sagt er mir immer "Index nicht gefunden" und mit AddIndex alleine scheint das auch nicht zu funktionieren :gruebel:

Gruß
Andreas

DelphiAndreas 6. Feb 2006 14:51

Re: Delphi2006 DBase-Index
 
ich habs gelöst! :mrgreen: :thumb:

Für alle die nochmal das Problem haben sollten: Man binde DBCommonTypes bei den Uses ein.

Scheint eine Dokumentationslücke in der Delphi-Hilfe zu sein, ich konnte die passende Unit nur mit Hilfe der Volltextsuche auf meiner Festplatte finden. :gruebel:

Gruß
Andreas


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz