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.