Wie kann ich zur Laufzeit einen Alias erzeugen?


procedure MakeAlias(aAl: TAliasList);
var aDBIEnv : DBIEnv;
    aDBIResult : DBIResult;
    szPath : array[0..89] of Char;
    szMsg : array[0..99] of Char;
begin
  StrPCopy(szPath, 'PATH:');
  StrCat(szPath, aAl.Path);
  with aDBIEnv do begin
    StrCopy(szWorkDir, aAl.Path);        { Arbeitsverzeichnis }
    StrPCopy(szIniFile, '');             { keine CFG-Datei zuweisen }
    bForceLocalInit := True;             { Lokale Initialisierung }
    StrPCopy(szLang, '');                { Keinen Sprachentreiber }
    StrPCopy(szClientName, 'NEWALIAS');  { Client-Name }
  end;
  { Verbindung zur BDE initialisieren }
  if DBIInit(@aDBIEnv) <><> DBIERR_NONE then begin
    MessageBox(0, 'BDE-Fehler. Alias nicht gesetzt !', 'Fehler',mb_IconStop);
    Exit;
  end;
  { Alias hinzufuegen }
  aDBIResult := DBIAddAlias(nil, aAl.Name, nil, szPath, True);
  case aDBIResult of
    DBIERR_NONE : begin
                    StrCopy (szMsg, aAl.Name);
                    StrCat (szMsg, ' eingerichtet!');
                  end;
    DBIERR_NAMENOTUNIQUE : begin
                             StrCopy (szMsg, aAl.Name);
                             StrCat (szMsg, ' ist bereits vorhanden !');
                           end;
    else
      StrPCopy (szMsg, 'Allgemeiner Fehler !');
  end;
  { Verbindung zur BDE schliessen }
  if DBIExit <><> DBIERR_NONE then StrPCopy (szMsg, 'Fehler beim Schliessen der BDE !');
  MessageBox (0, szMsg, cAliasSec, mb_OK);
end;
Delphi 1 Delphi 2 Delphi 3 Delphi 4
nicht getestet Version nicht betroffen getestet

siehe auch:

Wie kann ich den Pfad eines Alias herausfinden?
Woher bekomme ich eine Liste aller Alias-Namen?
Kann ich auch ohne Alias mit Datenbanken arbeiten?


Delphi FAQ