Вверх ↑
Ответов: 262
Рейтинг: 6
#1: 2006-10-19 07:27:50 ЛС | профиль | цитата
Задача: Выдать через onEvent данные в виде MT содержащие размер таблицы(компонент SQLite_info): т.е. количество столбцов+кол-во строк. Казалось бы просто -
columns.lData:=@rows;
_hi_onEvent(_event_onTblSize,columns);
Понятно - за lData получим взбучку от Dilma. Смотрим процедуру AddMtData. При передаче ей указателей @columns,@rows получаем назад forFree<>nil которую по логике должны уничтожить. Вопрос, что же мы уничтожим? И зачем такие сложности в конкретном примере? Предложение: Добавить в share процедуру для соединения существующих TData в цепочку.
 procedure LinkMTData(data: array of PData);
var i: Integer;
begin
for i := 0 to High(data)-1 do
data[i]^.lData:=data[i+1];
end;
Использовать же в компонентах примерно так
linkMTData([@columns,@Rows,@Mydata]);
_hi_onEvent(_event_onTblSize, Columns);
карма: 0

0