Öffnen mit.. (Rechte Maustate) + Fehler beim öffnen der ini Datei



  • Hallo Allerseits,

    Ich habe in meinem Programm die "Öffnen mit.." Funktionalität als

    //Datei UnitMain.cpp
    void __fastcall TFormMain::FormActivate(TObject *Sender)
    { 
      if (ParamStr(1) != "")                     
        OpenHandle(ParamStr(1));      //meine Öffnen Routine
    
    }
    
    void __fastcall TFormMain::OpenHandle(String openFileName)
    { 
      TStringList *tmpList = new TStringList();            //create new StringList
    
      if (OpenDialog1->Execute())
      {
        tmpList->LoadFromFile(OpenDialog1->FileName);     //Load File into StringList
      }
      ...
      delete tmpList;
    }
    

    eingefügt.
    Nun kann ich zwar per Rechte Maustaste eine Datei in meinem Programm öffnen, jedoch erscheint ein Fehler "Datei PLCEdit.ini kann nicht geöffnet werden", wenn
    ich folgendermaßen die ini Datei mit (1) öffne

    //Datei UnitProperties.cpp
    void __fastcall TFormProperties::openINI()
    { 
      TStringList *tmpList = new TStringList();        //create new StringList
    
      OpenDialogProp->FileName = "PLCEdit.ini";        //INI File Name
      tmpList->LoadFromFile(OpenDialogProp->FileName); //(1)
      //oder
      tmpList->LoadFromFile("C:\\Programme\\PLCEdit\\PLCEdit.ini"); //(2)
    
      ...
      delete tmpList;
    }
    

    . Nutze ich das Öffnen mit (2) bekomme ich keinen Fehler und alles wird normal gestartet/geöffnet.
    Also die feste Bindung an einen Pfad funktioniert. In Version (1) könnte ich mir vorstellen, dass der Öffnendialog (OpenDialogProp) den Pfad der Datei die mit der rechten Maustaste geöffnet werden soll enthält.

    Wie kann ich den Pfad so setzen, dass er nicht wie in (2) fest ist, sondern mein Programm die ini aus seinem Installtionsordner oder wo sich die .exe befindet lädt? Den Pfad möchte ich nicht festlegen, das man ja das Programm auch andwerso als in Programme oder halt auf Laufwerk C installieren könnte.
    Leider habe ich unter Suchen ncihts im Forum gefunden.

    Mfg Martin



  • sorry doppleposting



  • OpenDialogProp->FileName =ExtractFilePath(Application->ExeName)+"PLCEdit.ini";



  • super Christian, danke 🙂


Anmelden zum Antworten