![]() |
ToolsAPI
Zur Frage einmal den Hintergrund evtl. gibt es ja noch eine andere Lösung.
Ich nutze (Delphi 5) öfters 'Alle Projekte erstellen'. Da das bei mir eine ganze Zeit dauert nutze ich die Gelegenheit, eMail abzurufen. Nun kommt aber nach jedem kompiliertem Projekt Delphis Fenster mit dem Kompilerfortschritt in den Vordergrund. schaltet man das Fenster weg, weis man nicht, wann Delphi mit dem Kompilieren fertig ist. Mich hat das jetzt so angenervt, dass ich was über ToolsAPI machen möchte. Meine erste Idee war, den Kompilerstatus in die Taskleiste zu setzen. Bin dann aber aufgrund der Fehlenden ToolsAPI-Kenntnisse gescheitert. Nun gebe ich nach dem Komplieren eine Meldung über
Delphi-Quellcode:
aus. Schön und gut, nun gibt es allerdings das Problem, dass das Fenster mit den Meldungen leiser nur kommt, wenn es Delphiseitig eine Meldung gibt, oder wenn Suchergebnisse drinstehen. Also komme ich so auch nicht weiter.
(BorlandIDEServices As IOTAMessageServices).AddToolMessage
('',uppercase(extractfilename(AusgabeDatei))+ ' erfolgreich kompiliert' , 'Meldung', 0, 0); Hat jemand eine Idee? |
Re: ToolsAPI
Zitat:
Dein Monitor ist zu klein! Wenn du ernsthaft und professionell programmieren willst, brauchst du einen grossen Monitor (~26") oder zwei mittelgrosse Monitore (20-22"). ![]() |
Re: ToolsAPI
Als andere Lösung wäre vielleicht möglich einen Balloon-Tip anzeigen zu lassen.
Edit: Ich habe ebengerade noch dieses Beispiel im Internet gefunden:
Delphi-Quellcode:
procedure TSDCSimpleExpert.ShowMessageWindow(b : boolean);
var I: Integer; begin for I := 0 to Screen.FormCount - 1 do if Screen.Forms[I].ClassNameIs('TMessageViewForm') then begin if b then begin Screen.Forms[I].Show; Break; end else begin Screen.Forms[I].Hide; Break; end; end; end; procedure TSDCSimpleExpert.Execute; begin (BorlandIDEServices as IOTAMessageServices).AddToolMessage('','hello', 'execute method', 0, 0); ShowMessageWindow(true); end; |
Re: ToolsAPI
Danke,
das Beispiel hat weitergeholfen!!! :-D |
Re: ToolsAPI
Noch eine Frage zur Toolapi. Wahrscheinlich auch etwas spezieller...
Ich benutze folgende Klasse (Delphi 5):
Delphi-Quellcode:
Nun wird BeforeCompile und AfterCompile auch zwischendurch ausgeführt. Ich möchte das aber nur ausführen, wenn ich selbst das Kompilieren gestartet haben.
TCompilerNotifier = Class(TNotifierObject, IOTAIDENotifier)
Private AusgabeDatei: String; Public // IOTAIDENotifier Procedure FileNotification(NotifyCode: TOTAFileNotification; Const FileName: String; Var Cancel: Boolean); Virtual; Procedure BeforeCompile(Const Project: IOTAProject; Var Cancel: Boolean); Overload; Virtual; Procedure AfterCompile(Succeeded: Boolean); Overload; Virtual; // IOTAIDENotifier50 Procedure BeforeCompile(Const Project: IOTAProject; IsCodeInsight: Boolean; Var Cancel: Boolean); Overload; Virtual; Procedure AfterCompile(Succeeded: Boolean; IsCodeInsight: Boolean); Overload; Virtual; End; Geht das? |
Re: ToolsAPI
Du must IsCodeInsight abfragen und nur bei False reagieren.
|
Re: ToolsAPI
Zitat:
Ich habe dutzende höchstens durchschnittlich begabte Programmierer mit zwei und mehr Monitoren gesehen und mindestens genauso viele Top-Entwickler, deren hauptsächliches Arbeitswerkzeug ein Notebook mit 1.440x900 Auflösung war. ![]() |
Re: ToolsAPI
Da hab ich ein Problem: Bei mir wird nur
Delphi-Quellcode:
ausgeführt.
BeforeCompile(Const Project: IOTAProject; Var Cancel: Boolean)
Durch
Delphi-Quellcode:
scheint er nicht durchzugehen.
BeforeCompile(Const Project: IOTAProject; IsCodeInsight: Boolean; Var Cancel: Boolean)
|
Re: ToolsAPI
[OT]
Zitat:
[/OT] Edit: ah, gerade den Beitrag von rwachtel gelesen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 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-2025 by Thomas Breitkreuz