Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

IProperty bag [D6]


PVR ©   (2002-07-02 23:35:00) 

procedure TForm1.Button1Click(Sender: TObject);
type
Tgetpropfunc=function(a:pointer):integer of object;
var d:TDesignerSelections;
ds:IDesignerSelections;
l:TList;
pp:Tgetpropfunc;
i:integer;
ip:IProperty;
s:string;
begin

RegisterClass(TButton);
RegisterPropertyEditor(typeinfo(integer),nil,"",TIntegerProperty);
l:=TList.Create;
ds:=TDesignerSelections.Create;
try
pp:=l.add;
ds.Add(Button1);
GetComponentProperties(ds,[tkinteger],nil,tgetpropproc(pp));
Caption:=inttostr(l.Count);
for i:=0 to l.Count do
begin

ip:=Iproperty(l[i]);
s:=ip.GetValue;//acess violation
listbox1.items.add(s);
end;
finally
// tdesignerselections(ds).Free;
l.Free;
end;
end;

Глюк понять не могу поможите может знает кто


PVR   (2002-07-03 18:34:00) [1]

Да поднапрягся я с ентим багом но всеж нашел таки его причину проблема состояла в том что типы процедур передачи параметра немного не совпадали TGetPropProc( const... и просто параметр в процедуре TList.Add(parameter) короче говоря адрес IProperty я получал не правильный исправил создав процедуру по точному подобию TGetPropProc с чем себя и поздравляю.
Спасибо тем кто читал и хотел подмогти PVR


Наверх

Титульная страница Поиск, карта сайта Написать письмо