Autor |
Beitrag |
MaxiTB
      
Beiträge: 679
Win2000, WinXp, Workbench ;-)
D7 Ent, VS2003 Arch.
|
Verfasst: So 29.02.04 08:48
Grüße !
Ich hab mal eine Frage jenseits der Programmierung - und zwar eine organisatorische, welche mich schon immer ein bisserl in Delphi stört.
In MS Visual Studio ist es möglich, nach einem Kompiler-Run projektabhängig in den Einstellung ein Programm und Parameter anzugeben, welches nach jedem kompilieren ausgeführt werden soll. Sowas habe ich leider in der Delphi-IDE noch nicht finden können ...
 Gibts sowas ?
 Wenn Nein, wie kann man am einfachsten sowas realisieren ?
Vielleicht bin ich ja nur ein bisserl blind, aber als alter C Haudegen kenne ich immer noch nicht alle Geheimnisse der IDE  .
PS: Ein Schlem, der nach der Überschrift dachte, ich kenne den Menüpunkt 'Run' nicht *g*. Geht natürlich um was anderes.
_________________ Euer Mäxchen
Wer früher stirbt, ist länger tot.
Zuletzt bearbeitet von MaxiTB am Mo 01.03.04 12:46, insgesamt 2-mal bearbeitet
|
|
Martin77
      
Beiträge: 282
XP Prof
D6 Prof, D7 Personal, D7 Enterprise, D8 personal
|
Verfasst: So 29.02.04 13:33
Hab letztens mal nen alten batch gefunden, du kannst das kompilieren ja auch per Kommandozeile machen  . Packs innen batch und führe danach aus was du meinst  Geht dann halt nicht mehr per IDE 
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 29.02.04 14:17
Start -> Parameter. Meinst du das? Also die fertig kompilierte Exe gleich mit Parametern starten?
|
|
MaxiTB 
      
Beiträge: 679
Win2000, WinXp, Workbench ;-)
D7 Ent, VS2003 Arch.
|
Verfasst: So 29.02.04 16:24
::Martin77
Hab mal irgendwann gehört, es gibt Unterschiede zwischen dem IDE Compiler und den Kommadozeilencompiler.
Abgesehen davon ist genau mein Problem, daß ich immer wieder vergessen mein Pogrämmchen nachher auszuführen (führt vor allem Versionsmanagment-Sachen durch aber auch File transfers auf meinem FTP-Server). Daher hätte ichs gerne, daß es eben automatisch ausgeführt wird ... kann ich wohl vergessen.
::Luckie
Nop - das meinte ich eben nicht. Will nach dem Kompilieren ein anderes Programm starten. Und zwar eben genau -nach- dem Kompilieren. Am besten von der IDE eben aus und voll automatisch.
Mir fällt da gerade ein, daß man ja in die Delphi-IDE Menüs usw. reinbasteln kann ... vielleicht kann ich ja einen neuen Menüpunkt basteln, der den compile mit anschließenden Ausführen des Programms macht ...
Für Hinweise wäre ich dankbar - das fertige PlugIn poste ich dann klarerweise hier !
_________________ Euer Mäxchen
Wer früher stirbt, ist länger tot.
|
|
MaxiTB 
      
Beiträge: 679
Win2000, WinXp, Workbench ;-)
D7 Ent, VS2003 Arch.
|
Verfasst: So 29.02.04 16:56
Okay - hab mich ein bisserl schlau gemacht und ich denke mal, die einzige Lösung für mein Problem ist die OTA - OpenToolAPI für Delphi.
Hat jemand damit schon Erfahrungen gemacht ?
Ich hab bis jetzt nur gehört, sie soll ziemlich buggy sein und nicht wirklich vollständig.
Ich brauche ja nur zwei Dinge:
 Entweder ein Event, welches aufgerufen wird, nachdem ein Kompiliervorgang gestartet wurde.
 Oder wie ich das aktuelle Projekt kompiliere.
Erste Sache ist natürlich feiner ...
Ein paar Infos habe ich schon gefunden, die sind aber nicht wirklich aussagekräftig was das Kompilieren angeht.
www.tempest-sw.com/opentools
_________________ Euer Mäxchen
Wer früher stirbt, ist länger tot.
|
|
Martin77
      
Beiträge: 282
XP Prof
D6 Prof, D7 Personal, D7 Enterprise, D8 personal
|
Verfasst: So 29.02.04 19:38
Du willst nach jedem compilieren das Ding auf deinen FTP Server hochladen,...
Ich weiss nicht, also wenn ich ne zeile code ändere wird die auch getestet udn ic hlade nciht zuerst die neuste Version hoch, auch will ich nicht meinen aktuellen Stand im CVS bereitstellen -> da nicht getestet.
Also ich habe mir dafür nen kleiens Delphi Tool geschrieben, lade per INDY Sachen auf meinen FTP hoch ,verschicke emails,...
Das mit dem Batch verwende ich für "kleiner" Sachen, z.B. nen Backup zu machen doer so.
Gruß Martin
|
|
MaxiTB 
      
Beiträge: 679
Win2000, WinXp, Workbench ;-)
D7 Ent, VS2003 Arch.
|
Verfasst: So 29.02.04 20:02
Hochgeladen wird doch nur, wenn sich die Minor Nummer oder der Release State ändert.
Aber es werden eine Menge andere Sachen gemacht, z.B. Skripte angepaßt, Pfade und Dateinamen aktualiert., Setup-Scripte für Patches geändert usw.
_________________ Euer Mäxchen
Wer früher stirbt, ist länger tot.
|
|
Motzi
      
Beiträge: 2931
XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
|
Verfasst: So 29.02.04 20:46
Also wie es geht weiß ich nicht, aber dass es mit der OTA geht weiß ich.. wend dich vielleicht mal an Madshi ( www.madshi.net), dessen madExcept "patch" auch nach dem kompilieren die Exe-Datei.. kannst ihn ja mal fragen ob er dir da ein bisschen hilft... (oder aber du kaufst dir den Source von madExcept um schlappe 40€  )
_________________ gringo pussy cats - eef i see you i will pull your tail out by eets roots!
|
|
Martin77
      
Beiträge: 282
XP Prof
D6 Prof, D7 Personal, D7 Enterprise, D8 personal
|
Verfasst: So 29.02.04 22:27
MaxiTB hat folgendes geschrieben: | Hochgeladen wird doch nur, wenn sich die Minor Nummer oder der Release State ändert.
Aber es werden eine Menge andere Sachen gemacht, z.B. Skripte angepaßt, Pfade und Dateinamen aktualiert., Setup-Scripte für Patches geändert usw. |
Jo, aber das hat doch nix mit deinem compilieren zu tun,es klang so als ob du nach jedem compilieren deine exe hochladen wolltest,...
Das was du suchst ist ein komplettes Versionsmanagment System. Der compiler müsste als nach dem compilieren noch deine Versionsnummer überprüfen,.... glaubst du nicht das das nen 2.er Schritt wäre. Ich fidne das hat mim compilieren bzw. dem Prozess nix zu tun. Das compilieren ist meiner Meinung nach vielmehr ein Schritt in dem was du machen willst und nicht andersherum.
Würde mich allerdings interessieren wie du weitervorgehst ,weil das Thema natürlich sehr interessant ist.
Gruß Martin
|
|
MaxiTB 
      
Beiträge: 679
Win2000, WinXp, Workbench ;-)
D7 Ent, VS2003 Arch.
|
Verfasst: So 29.02.04 22:41
::Motzi
Tnx für den Tip - und zum Source kaufen bin ich noch zu arm  .
::Martin77
Ich such nix, ich hab schon *g*. Nur integieren in die IDE muß ichs noch.
Aber das mit der OTA schaut gut aus, dann kann ich endlich auch so Sachen wie meinen LanguageManager von der IDE aus ausrufen.
_________________ Euer Mäxchen
Wer früher stirbt, ist länger tot.
|
|
Alibi
      
Beiträge: 458
Win2K SP3
Delphi 6 Ent
|
Verfasst: Mo 01.03.04 00:03
Zitat: |
und zum Source kaufen bin ich noch zu arm
|
Win2000, WinXp, Workbench
D7 Ent, VS.net Ent
Hmjo.
|
|
Martin77
      
Beiträge: 282
XP Prof
D6 Prof, D7 Personal, D7 Enterprise, D8 personal
|
Verfasst: Mo 01.03.04 08:14
hab Ich mir auch gedacht, vielleicht sind es Schülerversionen  das VS NET Ent. kostet nen Schüler/Studi soweit ich weiss gut 150 Euro
Martin
|
|
MaxiTB 
      
Beiträge: 679
Win2000, WinXp, Workbench ;-)
D7 Ent, VS2003 Arch.
|
Verfasst: Mo 01.03.04 09:54
Jungs, irgendwann muß man doch anfangen zu sparen  .
Habe übrigends was zum Thema gefunden und will es euch nicht vorbehalten:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63:
| unit jrIDENotifier;
interface
procedure Register;
implementation
uses SysUtils, TypInfo, ToolsApi;
var NotifierIndex: Integer;
type TjrIDENotifier = class(TNotifierObject, IOTANotifier, IOTAIDENotifier) protected procedure AfterCompile(Succeeded: Boolean); procedure BeforeCompile(const Project: IOTAProject; var Cancel: Boolean); procedure FileNotification(NotifyCode: TOTAFileNotification; const FileName: string; var Cancel: Boolean); end;
procedure Register; begin
NotifierIndex := GetOTAServices.AddNotifier(TjrIDENotifier.Create);
end;
procedure TjrIDENotifier.AfterCompile(Succeeded: Boolean); begin
GetMessageServices.AddTitleMessage('After Compile'); end;
procedure TjrIDENotifier.BeforeCompile(const Project: IOTAProject; var Cancel: Boolean); begin
GetMessageServices.AddTitleMessage('Before Compile'); end;
procedure TjrIDENotifier.FileNotification(NotifyCode: TOTAFileNotification; const FileName: string; var Cancel: Boolean); begin
GetMessageServices.AddTitleMessage(Format('%s: %s', [GetEnumName(TypeInfo(TOTAFIleNotification), Ord(NotifyCode)), FileName])); end;
procedure RemoveNotifier; begin
if (NotifierIndex <> -1) then GetOTAServices.RemoveNotifier(NotifierIndex); end;
initialization
finalization RemoveNotifier;
end. |
_________________ Euer Mäxchen
Wer früher stirbt, ist länger tot.
|
|
|