![]() |
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 |
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 |
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 |
Re: make aus delphi starten
Hi,
versuch es mal vielleicht so:
Delphi-Quellcode:
mfg
Shellexecute (handle, 'open', 'make.exe', nil, 'fbintl2.dll', SW_shownormal)
Lordcroc |
Re: make aus delphi starten
Nicht so?
Delphi-Quellcode:
Der Vierte Parameter ist der Parameter der Datei und der 5. Parameter ist der der Arbeitspfad.
Shellexecute(Handle, 'open', 'make.exe', 'fbintl2.dll', nil, SW_shownormal);
Flare |
Re: make aus delphi starten
Zitat:
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:
Du könntest eine einfache *.bat Datei erstellen und in dieser die Befehle für make.exe eingeben.
Var
strF : string; Begin strF := Dein Pfad incl. der Anwendung die gestartet werden soll. ShellExecute(Handle, nil, strF, nil, strF, SW_HIDE); end; 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 23:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz