procedure THIColorDialogEx.onCanClose;
var dt:TData;
begin
_hi_OnEvent(_event_OnCanClose,ChooseColor.rgbResult);
if ReadInteger(dt,_data_Close,0) = 0 then ACanClose := true
else ACanClose := false;
end;
Вот здесь что-то не ладится, потому что когда комментирую:
procedure THIColorDialogEx.onCanClose;
var dt:TData;
begin
_hi_OnEvent(_event_OnCanClose,ChooseColor.rgbResult);
{if ReadInteger(dt,_data_Close,0) = 0 then ACanClose := true
else ACanClose := false;}
end;
, то всё в порядке, никаких ошибок.
Однако в SDialogEx я использовал точно такую же конструкцию, и всё работало!
Причём ошибка возникает тогда, когда к _data_Close ничего не подключено, но если подключить:
Add(ColorDialogEx,10603938,287,140)
{
Title="Диалог выбра цвета - 3042"
Color=12639424
HelpButton=1
Point(CustomColors)
Point(OnChangeColor)
Point(OnChangeCustomColors)
Point(doColor)
Point(Close)
link(Close,12264157:Value,[])
}
Add(Memory,12264157,287,84)
{
Default=Integer(1)
}
[size=-2]------ Добавлено в 15:12
А если ещё точнее, то оршибка здесь:
ReadInteger(dt,_data_Close,0);[/code]
Если написать так:
[quote]procedure THIColorDialogEx.onCanClose;
var dt:TData;
begin
_hi_OnEvent(_event_OnCanClose,ChooseColor.rgbResult);
ReadInteger(dt,_data_Close,0);
{if ReadInteger(dt,_data_Close,0) = 0 then ACanClose := true
else ACanClose := false;}
end;[/quote],
то будет ошибка. Почему же число не хочет считываться?