Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi make aus delphi starten (https://www.delphipraxis.net/77859-make-aus-delphi-starten.html)

sancho1980 25. Sep 2006 22:17


make aus delphi starten
 
hi,
ich habe eine delphi-anwendung geschrieben, in der der user sich quasi per mausklick einen header für eine c-dll zusammenklicken kann
wenn dann der user auf "build" klickt, wird der header geschrieben und dann soll make aufgerufen werden
das mit dem header bauen klappt, aber make muss ich immer von hand aufrufen
wie kann ich das automatisieren?
danke,
martin

lordcroc 25. Sep 2006 23:13

Re: make aus delphi starten
 
Hallo,

wenn make jetzt eine andere Anwendung ist (kenne die Anwendung nicht) würde ich es mal mit ShellExecute probieren.

mfg
lordcroc

sancho1980 25. Sep 2006 23:29

Re: make aus delphi starten
 
ja
ich glaub auch shell execute ist das richtige hier
aber irgendwie klappt das bei mir nicht so wie ich mir das vorstelle; liegt vielleicht daran, dass ich mit den parametern nicht ganz klar komme...
also make ist bei mir im path eingetragen
angenommen in meinem programmverzeichnis gibt es ein unterverzeichnis namens build
wenn ich jetz (in der eingabeaufforderung) in das unterverzeichnis wechsle, dann würde ich einfach aufrufen:

"make clean"

bzw.

"make fbintl2.dll"

wie müsste dafür der entsprechende shellexecute aussehen müssen?

danke,

martin

lordcroc 25. Sep 2006 23:36

Re: make aus delphi starten
 
Hi,

versuch es mal vielleicht so:

Delphi-Quellcode:
Shellexecute (handle, 'open', 'make.exe', nil, 'fbintl2.dll', SW_shownormal)
mfg
Lordcroc

Flare 26. Sep 2006 05:37

Re: make aus delphi starten
 
Nicht so?

Delphi-Quellcode:
Shellexecute(Handle, 'open', 'make.exe', 'fbintl2.dll', nil, SW_shownormal);
Der Vierte Parameter ist der Parameter der Datei und der 5. Parameter ist der der Arbeitspfad.

Flare

EWeiss 26. Sep 2006 06:24

Re: make aus delphi starten
 
Zitat:

Zitat von Flare
Nicht so?

Delphi-Quellcode:
Shellexecute(Handle, 'open', 'make.exe', 'fbintl2.dll', nil, SW_shownormal);
Der Vierte Parameter ist der Parameter der Datei und der 5. Parameter ist der der Arbeitspfad.

Flare

Genau ist es so.
1. hwnd = Handle deiner Anwendung
2. Operation = kann man als nil übergeben
3. File = Datei welche ausgeführt werden soll incl. Pfad
4. Parameters = kann man auch als nil übergeben
5. Directory = gleiche wie unter File
6. ShowCmd = SW_SHOWNORMAL wenn du die Anwendung sehen willst die gestartet wird ansonsten SW_HIDE

Delphi-Quellcode:
Var
strF : string;

Begin
strF := Dein Pfad incl. der Anwendung die gestartet werden soll.
ShellExecute(Handle, nil, strF, nil, strF, SW_HIDE);
end;
Du könntest eine einfache *.bat Datei erstellen und in dieser die Befehle für make.exe eingeben.
etwa so (C++) 'LIB /DEF:Bass_PLGWrapper.def' damit wird bei mir eine Library von Delphi für C++ erstellt.

Wäre dann bei dir 'strF := c:\MakeBat.bat' .... in dieser steht dann der Befehl 'make fbintl2.dll' fertig

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:10 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