![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обработка VTV из консольного приложения. [D6, WinXP]
Yozch1 © (2007-01-07 20:45:00)Ребята, похоже, туплю на ровном месте.
Цель - загрузить и обработать файл VTV из консольного приложения.
Или может попроще вариант предложите, без инициализации самого VTV?
program main;
{$APPTYPE CONSOLE}
uses
SysUtils,VirtualTrees,Classes, forms, MVCTypes, MVCPanel;
var
tmp:string ;
Tree:TVirtualStringTree;
TreeNode:PvirtualNode;
treeNodeCount:Integer;
P: TMVCPanel;
type
TMyRec = record //Список товаров
//SubData:TMVCNode;
Caption: string;
SubCaption: string;
Price: string;
add1: string;
add2: string;
add3: string;
add4: string;
add5: string;
ImageIndex: integer;
//Incidence,ImageIndex:integer;
end;
PMyRec = ^TMyRec;
procedure myLoadNode(Sender: TBaseVirtualTree; Node: PVirtualNode; Stream: TStream);
procedure myLoadNode(Sender: TBaseVirtualTree;
Node: PVirtualNode; Stream: TStream);
begin
//skip
end;
begin
P := TMVCPanel.Create(Application);
P.TreeView.NodeDataSize := SizeOf(TmyRec);
p.TreeView.OnLoadnode :=myLoadNode; //тут ломается при компиляции с ошибкой
//[Error] main.dpr(126): Incompatible types: 'method pointer and regular procedure'
readln;
end.
Где туплю?????
vlad-mal (2007-01-08 01:49:00) [1]Ты забыл, что свойство OnLoadNode имет тип
procedure of object
property OnLoadNode: TVTSaveNodeEvent...;
...
type
...
TVTSaveNodeEvent = procedure(Sender: TBaseVirtualTree; Node: PVirtualNode; Stream: TStream) of object;
Следовательно, "проблему" можно разрешить, например, объявив процедуру myLoadNode как член какого-либо класса...
:)