Erstmal danke für Dein Beispiel. Mein Aufruf für "ComponentRenamed" sieht jetzt so aus:
Delphi-Quellcode:
procedure TPPWFormNotifier.ComponentRenamed(ComponentHandle: TOTAHandle;
const OldName, NewName: string);
var
Module : IOTAModule;
Editor : IOTAEditor;
FormEditor : IOTAFormEditor;
Compo: IOTAComponent;
I: Integer;
begin
if not FRenaming then
try
FRenaming := True;
Module := ( BorlandIDEServices as IOTAModuleServices ).FindModule(FFileName);
for i := 0 to Module.GetModuleFileCount - 1 do
begin
Editor := Module.GetModuleFileEditor(i);
if Editor.QueryInterface( IOTAFormEditor, FormEditor ) = S_OK then begin
Compo := FormEditor.FindComponent(OldName);
Compo.SetPropByName('Name','Testname');
end
end;
finally
FRenaming := False;
end;
end;
Wenn ich das Ganze jetzt aber als
Package installieren, und eine Komponente aufs Formular ziehe, bekomme ich eine Zugriffsverletzung.
Habe ich vielleicht was falsch gemacht?