In einer EXE geht schon.
Als
GUI Anwendung erstellen und beim Start prüfen, ob aus Konsole gestartet.
Wenn ja, dann dort die Statusausgabe und ansonsten die
GUI starten/anzeigen.
Außer man will die Fortschrittsanzeige wirklich dennoch immer in der
GUI haben, egal ob mit Parameter aus einem Link, Start>Windows>Ausführen oder aus einer Console oder Batch gestartet. (aus einem Konsolenfenster oder mit StdOut-Umleitung oder ohne)
Ich hoffe das in etwa ist nicht ganz wörtlich gemeint.
sl.Count-1
try-finally ?
TStrings.Create ?
warum OnExecute aufrufen, anstatt Execute?
und die Groß-/Kleinschreibung zu ignorieren kann nicht schaden
Komisch ist auch, dass die ActionList keine FindAction(Name)-Methode bietet und man die Items selbst durchlaufen muß.
Delphi-Quellcode:
var
i : Integer;
S : string;
Ini : TIniFile;
sl : TStrings;
begin
sl := TStringList.Create;
try
Ini := TIniFile.Create(ChangeFileExt(Application.ExeName, '.ini'));
Ini.ReadSection('Autostart', sl);
for S in sl do //for k := 0 to sl.Count - 1 do
for i := 0 to ActionList1.ActionCount - 1 do
if SameText(ActionList1.Actions[i].Name, S) then
ActionList1.Actions[i].Execute;
finally
Ini.Free;
sl.Free;
Close;
end;
end;