AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Frage zu InstallShield Pfadname für Alias
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zu InstallShield Pfadname für Alias

Ein Thema von Gambit · begonnen am 20. Jun 2003 · letzter Beitrag vom 23. Jun 2003
Antwort Antwort
Seite 2 von 3     12 3      
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#11
  Alt 21. Jun 2003, 11:30
Das bringt mich jetzt wieder etwas durcheinander. Einen Pfad für die BDE in Installshield kann ich doch nur angeben, wenn ich einen Alias wähle. Und den bräuchte ich doch in der Variante gar nicht mehr.

Gambit
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#12
  Alt 21. Jun 2003, 15:48
Das ist nicht der Pfad für die BDE sondern der Pfad, in dem die BDE Deine Paradox-Tabelle(n) findet. Und das mußt Du sehr wohl beim Anlegen des Aliases angeben. Und bei einer Installation auf einen anderen PC mußt Du der dortigen BDE natürlich mitteilen, wo sei die Tabellen suchen soll, die zu dem Alias gehören.
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#13
  Alt 21. Jun 2003, 15:52
Ich wollte es ja jetzt eigentlich ganz ohne Alias machen. Geht das nicht?

Gambit
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#14
  Alt 21. Jun 2003, 16:04
Das geht auch. Dann solltest Du aber in Deinem Programm die Pfadangabe für die DB-Tabelle variabel gestalten (z.B. aus der einer INI-Datei oder der Registry einlesen)! Ich würde aber bei BDE-Nutzung der Verwendung eines Alias-Namens den Vorzug geben.
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#15
  Alt 21. Jun 2003, 16:26
Ich fasse es nicht. Das Programm läuft jetzt nach der Installation aber nur, wenn ich es aus dem Installationsordner heraus starte. Starte ich es über den Eintrag des Startmenus läuft es nicht, Fehlermeldung von Windows Blahblah hat einen Fehler verursacht und muss beendet werden. Lösche ich die Verknüpfung und lege ich die Verknüpfung neu an gehts wieder.

Das soll mal einer raffen, zumal in der neuen Verknüpfung exakt das Gleiche drinsteht.

Gambit
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#16
  Alt 21. Jun 2003, 17:31
Zitat von Gambit:
Das soll mal einer raffen, zumal in der neuen Verknüpfung exakt das Gleiche drinsteht.
Bist Du da ganz sicher? Das sieht ganz danach, als steht kein Eintrag unter Ausführen in.
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#17
  Alt 21. Jun 2003, 17:38
Och, mmhh, muss ich mal gucken. Aber soviel ich weiß, kann man da in Installshield nicht mehr eintragen...

Gambit
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#18
  Alt 21. Jun 2003, 18:48
Joo, das war der Fehler. Besten Dank. War ja mal wieder ne schwere Geburt, wenn ich euch nicht hätte...

Gruß

Gambit
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#19
  Alt 21. Jun 2003, 18:58
Dafür sind wir doch da. Unsereiner hat ja auch mal Fragen...
  Mit Zitat antworten Zitat
Mario

Registriert seit: 7. Apr 2003
567 Beiträge
 
Delphi 2006 Enterprise
 
#20
  Alt 23. Jun 2003, 07:06
Zitat von Gambit:
Das soll mal einer raffen, zumal in der neuen Verknüpfung exakt das Gleiche drinsteht.
Auch das Arbeitsverzeichnis?

Hier ist dann übrigens der Code, so wie ich ihn bei Programmstart durchlaufen lasse. Ich musste Ihn ein wenig ändern zum Posten, aber er sollte tun:
Delphi-Quellcode:
{
FUNCTION Check_Alias_DataBase: String;
BEGIN
Result := Check_Alias('MyAlias', AppPath + 'Data\', True);
END;
//-----------------------------------------------------
}


FUNCTION Check_Alias(Alias_Name, DefaultPath: String;
                     TestActivate: Boolean): String;
CONST strTestTable = 'MyTable.DB';
VAR MyStringList :TStringList;
    TempString, newPath: String;
    TestTable: TTable;
begin
 Set_DataBase_Passwort;
 MyStringList := TStringList.Create;
 TRY
  Session.GetAliasParams(Alias_Name,MyStringList);
 EXCEPT
 END;
 IF MyStringList.Count = 0 THEN
  BEGIN
   Session.AddStandardAlias(Alias_Name, DefaultPath , 'PARADOX');
   Session.SaveConfigFile;
  END;

 IF TestActivate
  THEN
   BEGIN

     TestTable := TTable.Create(nil);
     TestTable.DatabaseName := Alias_Name;

     TestTable.TableName := strTestTable;
     TRY
      TestTable.Active := True;
     EXCEPT
       IF Copy(MyStringList.Strings[0],6,255) <> DefaultPath
        THEN
         BEGIN
          TempString := 'Die Datenbank kann nicht initialisiert werden!' + #10 +
                        'Der aktuelle Pfad ist:' + ' ' + Copy(MyStringList.Strings[0],6,255) + #10 +
                        'Der Pfad sollte aber auf:' + ' ' + DefaultPath + ' ' + 'zeigen' + '.'#10+
                        'Bitte wählen Sie im folgenden den Pfad Ihrer Datenbanken aus.';
          ShowMessage(TempString);
          newPath := DefaultPath;
          IF SelectDirectory(newPath,[],0)
           THEN
            BEGIN

              MyStringList.Clear;
              MyStringList.Add('PATH=' + IncludeTrailingPathDelimiter(newPath));
              Session.ModifyAlias(Alias_Name,MyStringList);
              Session.SaveConfigFile;
              Session.Close;
              Session.Open;

              Set_DataBase_Passwort;

            END; // IF MessageDlg() = mrYes
         END;
     END; // TRY Table.Active

     TRY
      TestTable.Active := False;
      TestTable.Active := True;
     EXCEPT
      MyStringList.Free;
      TestTable.Free;
      MessageDlg('Die Datenbanken können nicht geöffnet werden.' + #10 +
                 'Das Programm kann nicht gestartet werden.',mtInformation,
                 [mbOK],0);
      Halt;
     END;
     TestTable.Free;
   END;

 TRY
  Session.GetAliasParams(Alias_Name,MyStringList);
  Result := IncludeTrailingPathDelimiter(Copy(MyStringList.Strings[0],6,255));
  ForceDirectories(Result);
 EXCEPT
  Result := DefaultPath;
 END;

 MyStringList.Free;
END;
Schöne Grüße,
Mario Noack
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz