AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Projekt von Sourceeditor aus starten
Thema durchsuchen
Ansicht
Themen-Optionen

Projekt von Sourceeditor aus starten

Ein Thema von I.A · begonnen am 12. Jun 2008 · letzter Beitrag vom 13. Jun 2008
Antwort Antwort
I.A

Registriert seit: 14. Jan 2007
83 Beiträge
 
#1

Projekt von Sourceeditor aus starten

  Alt 12. Jun 2008, 23:14
Hallo!

Ich habe den folgenden Quelltext geschrieben:

Delphi-Quellcode:
program startprj;

uses
  SysUtils,
  {$IFDEF WINDOWS}
  Windows,
  Process;
  {$ELSE}
  Dos;
  {$ENDIF}


var
  FileName: String;
  {$IFDEF WINDOWS}
  AProcess: TProcess;
  {$ENDIF}

begin
  if ParamCount > 0 then
  begin
    FileName := ChangeFileExt(ParamStr(1),'.exe');
    if FileExists(FileName) then
    begin
     {$IFDEF WINDOWS}
       AProcess := TProcess.Create(nil); //Komponente aus Lazarus
      AProcess.CommandLine := FileName;
      AProcess.Options := poNewConsole;
      AProcess.Priority := ppNormal;
      AProcess.Execute;
      AProcess.Free;
     {$ELSE}
       Exec('\cmd.exe','/C ' + FileName); //Ich verwende diese Anweisung unter Windows XP
     {$ENDIF}
    end;
  end;
end.
Der soll von einem Quellcodeeditor aus als externes tool eingerichtet meine erstellte Quelltextdatei nehmen, die Erweiterung .exe an Stelle von .pas oder .dpr o a. setzen.

Wenn nun eine Datei <mein_Quelltext.exe> im gleichen Verzeichnis existiert, soll diese ausgeführt werden. Das ist dann der Fall,wenn ich vorher den ebenfalls als externes tool eingerichteten Compiler erfolgreich aufgerufen habe.

Leider funktioniert das nicht und ich habe keine Ahnung, wo ich nach dem Fehler suchen soll.
StartPrj wird zwar korrekt aufgerufen, aber meine Anwendung wird nicht gestartet.

Kann es sein, das ich die Windows Version des FPC Compilers nehmen muss, dann natürlich die Version mit TProcess, um zum Ziel zu kommen? Oder halt CreateProcess mit Delphi? Habe auch die Unit ConsoleOut aus der DP.

Habe zum Experimentieren den fpc verwendet, weil mir die TProcess-Komponente von Lazarus gefällt.
Leider krige ich einen Linkerfehler. Habe vorher schon die Dos Version von fpc verwendet. Startprj wurde von letzterem korrekt übersetzt, lässt sich auch starten, aber meine Anwendung startet nicht.

Muss ich also doch CreateProcess verwenden?

Oder liegt mein Fehler woanders?

Werde morgen weiter experimentieren.

Meine Frage lautet:
- Funktioniert das mit CreateProcess? Habe auch die Unit ConsoleOut aus der DP. Wollte es aber erst mal mit Exec probieren. Leider funktioniert der Linker meiner Freepascal Version nicht richtig. Linkfehler. Werde wohl doch dcc32 oder Turbo-Pascal als Compiler für den Sourceeditor verwenden.

Ich nutze außerdem Delphi, habe aber im Internet einen guten Quelltexteditor gefunden und wollte den für die Programmentwicklung einrichten. Daher die Problemstellung, das der Sourceeditor keine Einstellung vorgesehen hat, um die Projektdatei als <projekt>.exe zu starten.
  Mit Zitat antworten Zitat
delphifan2004

Registriert seit: 26. Nov 2004
Ort: Dresden
266 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Projekt von Sourceeditor aus starten

  Alt 13. Jun 2008, 10:23
Hallo I.A,

das sollte mit der ConsoleOut-Unit klappen. Mit der Lazarus-Kompo TProcess hab ich keine Erfahrung, aber mit der neuen Lazarusversion mit FPC 2.1.0 sollte der Linkfehler der Vergangenheit angehören.

Sonst halt den Delphi Compiler einbinden und ConsoleOut verwenden.
  Mit Zitat antworten Zitat
I.A

Registriert seit: 14. Jan 2007
83 Beiträge
 
#3

Re: Projekt von Sourceeditor aus starten

  Alt 13. Jun 2008, 16:29
Ok, jetzt klappt es. Sowohl mit TProcess als auch mit ConsoleOut. Hatte alte fpc Version. Mit dem neuen Compiler funzt es. Danke @Delphifan2004.
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:38 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