bat proiect de compilare fișier
Încerc să compilez un proiect folosind linia de comandă, nu înțeleg cum să o fac, chiar trebuie să șterg toate directoarele cu componente manual. Modul în care proiectul este compilat în IDE aparent folosește fișierul * .cfg # xA0; în directorul de proiect, dar cum?
Ketmar, îmi amintesc, l-am lăudat doar prin lucrările MakeFile.
setați DELPHI = C: \ Program Files \ Borland \ Delphi7
set PATHCOMMON = „C: \ Program Files \ EurekaLog 5 \ Delphi7; .ELPHI% \ Lib; .ELPHI% \ Bin; .ELPHI% \ Imports; .ELPHI% \ Projects \ BPL; C: \ Program Files \ PostgresDAC \; E: \ 01_Common \ DBEngine; E: \ 01_Common \ DBEngine \ pgsql; E: \ 01_Commo n \ DBEngine \ pgsql \ UpdateSQL; C: \ program Files \ MySQLDAC \; E :. \ 01_Common \ QuickImport ;; XVCL% \ ExpressScript Motorul \ Sources; .XVCL% \ Innerfuse Pascal Script \ Sources; .XVCL% \ ExpressWeb Framework \ Sources; .XVCL% \ ExpressMemData \ Surse; .XVCL% \ ExpressDBTree Suite \ Sources; .XVCL% \ ExpressPrinting System \ surse;. XVCL% \ ExpressSpreadSheet \ Surse; E: \ 1_FastReport \ LibD7; E: \ 01_Common \ Alte; E: \ 01_Commo n \ SysPack "
"C: \ Program Files \ Borland \ Delphi7 \ Bin \ dcc32.exe" -B -GD -CG - $ A8 - $ B- - $ C + - $ D - $ E - $ F- - $ G + - $ H + - $ I + - $ J- - $ K- - $ L - $ M - $ N + - $ O + - $ P + - $ Q- - $ R- - $ S - $ T - $ U- - $ V + - $ W- - $ X + - $ YD - $ Z1-N "_DCU" -U% PATHCOMMON% D "EUREKALOG; EUREKALOG_VER5; RELEASE" Este groaznic. Am făcut mai ușor, alerg după construirea unui grup de proiecte batnikok, care copiază totul unde ar trebui să fie și înregistrează tot ce este necesar. cel mai interesant, în KDE în KDevelop în cadrul FreeBSD 6.0 există o fereastră rece pentru setările compilatorului fpc și mplayer-ul nu funcționează. ) compilatorul a vrut să scuipe pe ele. ) Apropo, puteți scrie un expert pentru IDE, shob a executat fișierul batch corect după compilație :) Aici este 15 minute. M-aș fi uitat cu plăcere la codul unui astfel de expert. > Dar și asta mi-a venit mai întâi în cap. Dar niciodată interfață # xA0; TCompileTimeNotifier = clasă (TIAddInNotifier) punerea în aplicare var registru de proceduri; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; # xA0; procedura TCompileTimeNotifier.EventNotification ( # xA0; # xA0; caz NotifyCode din procedura TCompileTimeNotifier.FileNotification ( iniţializarea finalizare Este necesar, desigur, să o puneți într-un pachet și să îl instalați în IDE. Pe "superfluu", nu acordați atenție, rupeți "live" :) TIAddInNotifier - unde o pot vedea? Crearea unui program prog.pas astfel de conținut var lângă program, în același director pus aici este un astfel de compiler.bat cd% cd% La executarea programului, acesta compilează, începe, produce 10. Mai mult, sub impresia liniilor „Când DCC32 începe, se pare pentru DCC32.CFG în directorul curent. În cazul în care ISN fișierul“ T găsit acolo, DCC32 arată în directorul în care DCC32.EXE locuiește.“. Am o cutie în același director un fișier dcc32.cfg aici este conținutul aici După aceea, rulez compile.bat, rulez prog.exe, programul jură, așa cum v-ați aștepta. Nu m-am săturat mai departe până nu știu capcanele, dar cred că în această direcție poți să scapi ceva util. Memorie: 0.77 MB
> pasha_golub
Mulțumesc, acum este aproape clar
> Ega23
Aceeași soluție, desigur, puțin mai ușoară și mai puțin atractivă.
> Joe
Dar și asta mi-a venit mai întâi în cap. Dar nu am scris niciodată un expert, așa că nu știu cât va dura.
> Apropo, puteți scrie un expert pentru IDE, Schaub a făcut bine
> fișiere batch după compilare :) Aici este 15 minute.
> a scris experții, așa că nu știu cât de mult timp
> va lua.
Iată achiziția, a distrus unul dintre vechii lui experți, poți să ștergi tot ce poți aici, pe care fantezia o va permite :)
folosește Windows, ExptIntf, ToolIntf;
# xA0; public
# xA0; #XA0; procedura NotificareNetificare (NotifyCode: TFileNotification;
# xA0; # xA0; # xA0; const Numele de fișier: șir; var Anulează: Boolean); suprascrie;
# xA0; # xA0; procedura EventNotification (NotifyCode: TEventNotification;
# xA0; # xA0; # xA0; var Anulează: Boolean); suprascrie;
# xA0; sfârșitul;
utilizează SysUtils, DateUtils;
# xA0; Notificatorul: TCompileTimeNotifier;
# xA0; LastCompileDt: TDateTime = 0;
începe
# xA0; //
se încheie;
# xA0; NotifyCode: TEventNotification; var Anulează: Boolean);
var
# xA0; Fv: TextFile;
# xA0; Fn: șir;
începe
# xA0; dacă ToolServices.GetProjectName = "" atunci
# xA0; # xA0; Ieșire;
# xA0; # xA0; # xA0; enBeforeCompile:
# xA0; # xA0; # xA0; începeți
# xA0; # xA0; # xA0; # xA0; //
# xA0; # xA0; # xA0; sfârșitul;
# xA0; # xA0; # xA0; enAfterCompile:
# xA0; # xA0; # xA0; începeți
# xA0; # xA0; # xA0; # xA0; //
# xA0; # xA0; # xA0; sfârșitul;
# xA0; # xA0; sfârșitul;
se încheie;
# xA0; NotifyCode: TFileNotificare; const Numele de fișier: string;
# xA0; var Anulează: Boolean);
începe
se încheie;
# xA0; Notificator: = TCompileTimeNotifier.Create;
# xA0; ToolServices.AddNotifierEx (notificator);
# xA0; ToolServices.RemoveNotifier (notificator);
# xA0; Notifier.Free;
> Pot folosi aceste setări când rulez dcc32?
În teorie, poți. Dar nu l-am găsit. - (
> În teorie, poți. Dar nu l-am găsit. - (
> Ega23
Da, aș dori să folosesc ca parametru ceva care este scris în cfg și ca PATHCOMMON să utilizeze valoarea celei mai cunoscute chei din registru și ar fi perfectă
# xA0; I. matrice de Integer;
începe
# xA0; SetLength (I, 1);
# xA0; I [6]: = 10;
# xA0; writeln (I [6]);
end.
dcc32 prog.pas
Durată: 0,076 secundeArticole similare