Hallo,
folgender Code wird nicht compiliert,
weil der Compiler PopupMenu moniert (existiert nicht).
Delphi-Quellcode:
procedure TForm_Base.SetExportPopMenu;
var
iComponent : Integer;
Component : TComponent;
Control : TControl;
begin
for iComponent:= 0 to ComponentCount-1 do
begin
Component:= Components[iComponent];
if (Component is TListView) or
(Component is TVirtualStringTree) then
begin
Control:= TControl(Component);
if Control.PopupMenu=NIL then // hier meckert er
begin
PopupMenu:= TPopupMenu.Create(ListView);
Control.PopupMenu:= PopupMenu;
end;
Nehme ich statt dessen
Control:= TControl(Component)
Delphi-Quellcode:
with Component as TControl do
begin
if PopupMenu=NIL then
begin
MyPopupMenu:= TPopupMenu.Create(Control);
PopupMenu:= MyPopupMenu;
end;
end;
klappt es.
Ich hätte aber gern die 1. Code.
Ich mage dieses
RTTI hier nicht so.
Es handelt sich um das Original TControl (
unit Controls).
Heiko