Announcement

Collapse
No announcement yet.

Inifile - Problem ComServer

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

  • Inifile - Problem ComServer

    Wir haben ein Programm geschrieben, das beim Start den Connect - String
    auf eine ADO - Datenquelle (SQL2000) ausliest und dann den Connect herstellt. Funktioniert. Um nicht vom Programmpfad abhängig zu sein wird
    die Ini-Datei über .\programmstart.ini angezogen. Funktioniert. Ich habe dieses Programm um eine Com-Schnittstelle erweitert. Startet jetzt das
    Client-Programm wird automatisch der Server gestartet (obiges Programm)-
    und fällt auf die Nase. Startet das Programm über Com ist der aktuelle
    Programmpfad c:\winnt\system32 .... - hier wird natürlich kein Ini -
    file gefunden. 1. Ich möchte keinen festen Pfad auf die Ini.
    2. Ich möchte ganz gerne beim Ini-File bleiben und nicht in die Registry
    gehen. Vielleich irgendjemand eine gute Idee?

  • #2
    Hallo,

    normalerweise ist die Vorgehensweise für einen ADO-ConnectionString folgendermassen:

    1. Das eigene Programm (COM-Objekt) ermittelt zur Laufzeit über die Funktion <b>DataLinkDir</b> (Unit <i>ADODB.pas</i>) das Konfigurationsverzeichnis für die ADO-Data Links.

    2. Die TADOConnection-Instanz verwendet eine eigene UDL-Datei (Datenverknüpfungsdatei) aus diesem Verzeichnis, in der die Verbindungsdaten konfiguriert wurden (auf dem Installationsrechner kann diese Konfiguration ohne Delphi jederzeit geändert werden: Windows-Explorer -> Doppelklick auf die UDL-Datei -> konfigurieren).

    In diesem Umfeld spielt das o.g. Problem keine Rolle

    Comment


    • #3
      Hallo,<br>
      mit dieser Function kann man sich aber auch den Path + den EXE-Name zurück geben lassen:<br><br>
      function GetModuleName: String;<br>
      var ModName: array[0..MAX_PATH] of Char;<br>
      begin<br>
      SetString(Result, ModName, Windows.GetModuleFileName(HInstance,<br>
      ModName, SizeOf(ModName)));<br>
      end;<br>

      Helmu

      Comment

      Working...
      X