Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.479 Beiträge
 
Delphi 11 Alexandria
 
#200

AW: Pascal Project Manager & Editor

  Alt 31. Okt 2022, 01:14
1) Mit dem Mobilen Modus habe ich mich momentan nicht weiter beschäftigen können, werde ich aber etwas später noch machen (Umgebungsvariablen möchte ich allerdings nicht setzen).

2) Habe ein neues Feld "ProjectGroup" eingeführt. Wenn man eine Projektgruppe übernimmt, werden da automatisch die richtigen Einträge gemacht.

5) Das Ausführen bzw. Anzeigen der Ordner im externen Dateimanager sollte nun funktionieren.
zu 1) Was spricht gegen Umgebungsvariablen? Diese sind doch nur zur Laufzeit des von PPM gültig. Es werden also keine Systemeinstellungen geändert.
zu 2) In der Projektliste macht das keinen optischen Unterschied. Oder habe ich etwas übersehen?
zu 5) Funktioniert hier nach wie vor nicht. Wie sieht denn der interne Aufruf bei dir aus?

[EDIT]
zu 5) Ich habe mal mit mehreren Dateimanagern (WinNc, OneCommander, SpeedCommander) getestet. Ich glaube das Hauptproblem ist der letzte Backslash im Pfad den du übergibst.
Zu 2: Nein, das stimmt. Aber Du kannst danach ja filtern.
zu 5: Bislang hatte ich ExtractFilepath genommen, das liefert eben am Ende den Slash. Der Explorer und mein eigenes Dateimanager-Programm kamen damit jedenfalls zurecht.

Ich habe es jetzt so gemacht (also mit ExtractFileDir), sollte dann also auch mit den vor Dir verwendeten Programmen funktionieren (kommt dann in nächster Beta):

Delphi-Quellcode:
procedure TMainForm.pmi_ShowFolderClick(Sender: TObject);
begin
  if NoItemsAndNoSelection(lbProjects) then exit;

  var idx := GetCurrentProjIDX;
  var link := ExtractFileDir (TableProjects.gfc('ProjectFile', idx));

  if Link <> 'then begin
    If not DirectoryExists (Link) then begin
      ShowMessage (TL('Das Verzeichnis') + AnewL(2) + Link + AnewL(2) + TL('existiert nicht!'));
      exit;
    end;

    Link := '"' + Link + '"';

    if FileMan <> 'then begin
      ShellExecute(self.Handle, 'open', PChar ('"' + FileMan + '"'), PChar (Link), '', SW_Show);
    end else begin
      ShellExecute(self.Handle, 'open', PChar (Link), '', '', SW_Show);
    end;
  end;
end;
  Mit Zitat antworten Zitat