Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#6

AW: OpenToolsAPI - Projektionfos

  Alt 1. Jun 2011, 16:49
Ich hab jetzt erstmal das zusammen und es Meldet mir auch fleißig etwas.
Nur ob ich da noch was an den Optionen eändern kann, weiß ich noch nicht.

Delphi-Quellcode:
unit Unit1;

interface

uses ToolsAPI, Dialogs;

implementation

type
  TCompileNotifier = class(TInterfacedObject, IOTACompileNotifier)
  protected
    procedure ProjectCompileStarted(const Project: IOTAProject; Mode: TOTACompileMode);
    procedure ProjectCompileFinished(const Project: IOTAProject; Result: TOTACompileResult);
    procedure ProjectGroupCompileStarted(Mode: TOTACompileMode);
    procedure ProjectGroupCompileFinished(Result: TOTACompileResult);
  end;

var
  CompileNotifier: Integer;

procedure TCompileNotifier.ProjectCompileStarted(const Project: IOTAProject; Mode: TOTACompileMode);
var
  S, S2: String;
  N: TOTAOptionName;
begin
  S := '';
  for N in Project.ProjectOptions.GetOptionNames do begin
    try
      S2 := '"' + String(Project.ProjectOptions.Values[N.Name]) + '"';
    except
      S2 := 'error';
    end;
    S := S + N.Name + ' = ' + S2 + sLineBreak;
  end;
  ShowMessage(S + '"' + Project.ProjectType + '"');
end;

procedure TCompileNotifier.ProjectCompileFinished(const Project: IOTAProject; Result: TOTACompileResult);
begin
end;

procedure TCompileNotifier.ProjectGroupCompileStarted(Mode: TOTACompileMode);
begin
end;

procedure TCompileNotifier.ProjectGroupCompileFinished(Result: TOTACompileResult);
begin
end;

initialization
  CompileNotifier := (BorlandIDEServices as IOTACompileServices).AddNotifier(TCompileNotifier.Create);

finalization
  (BorlandIDEServices as IOTACompileServices).RemoveNotifier(CompileNotifier);

end.
Witzig finde ich die neue MessageBox der XE-IDE ... so cool mit ScrollBar, wenn zuviel Text angezeigt werden soll.



Im Prinzip hätte ich gerne ein Tool, welches die Projektoptionen prüft und falls da etwas nicht stimmt, fragt es einen, so daß man eventuell aus einem Set von vorgefertigten Optionen eoine auswählen kann.

Damit endlich mal das Chaos, mit den unzähligen Speicher- und Suchpfaden, ein Ende findet.


Wenn ich es mir jetzt recht überlege, ist es vor dem Kompilieren eh schöner, da dann nicht gleich jedes Projekt angemeckert wird, sondern erst wenn man kompiliert, also da wo es wichtig wird.
Die Pfade der IDE-Optionen laß ich nun schon über den FinalBuilder abgleichen, also mit dessen aktuellen Pfaden.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 1. Jun 2011 um 16:55 Uhr)
  Mit Zitat antworten Zitat