Вверх ↑
Разработчик
Ответов: 26061
Рейтинг: 2120
#1: 2009-02-02 23:15:34 ЛС | профиль | цитата
afandi, используй для передачи в схеме переменных типа Variant указатель на эти переменные
Вот так это можно, попробуй разобраться



Add(MainForm,2953706,56,105)
{
link(onCreate,12525052:doEvent1,[])
}
Add(InlineCode,12869620,196,119)
{
WorkPoints=#4:Init|
VarPoints=#6:Result|
DataPoints=#4:Data|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|23: VarID: OLEVariant;|9: public|20: Data:THI_Event;|49: procedure Init(var _Data:TData; Index:word);|56: procedure Result(var _Data:TData; Index:word); |5: end;|0:|14:implementation|0:|27:procedure THiAsmClass.Init;|5:begin|37: VarID := ReadInteger(_Data, Data);|4:end;|0:|34:procedure THiAsmClass.Result; |5:begin|36: dtInteger(_Data, integer(@VarID));|4:end;|0:|0:|4:end.|
link(Data,10654259:Value,[])
}
Add(InlineCode,4049513,196,182)
{
WorkPoints=#4:Init|
EventPoints=#6:Result|10:ResultType|
DataPoints=#4:Data|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|23: VarID: OLEVariant;|9: public|21: Data: THI_Event;|23: Result: THI_Event;|37: ResultType: THI_Event; |49: procedure Init(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|27:procedure THiAsmClass.Init;|3:var|19: PointID: Pointer;|5:begin|59: VarID := OLEVariant(Pointer(ReadInteger(_Data, Data))^);|62: _hi_onEvent(Result, VarToStr(VarID)); // чисто для проверки|89: _hi_onEvent(ResultType, VarType(VarID)); // Должно на выходе быть varInteger = $0003;|4:end;|0:|4:end.|
link(Result,2987836:doEvent,[])
link(Data,12869620:Result,[])
link(ResultType,4277039:doEvent,[(247,195)(247,223)])
}
Add(Memory,10654259,196,63)
{
Default=Integer(45)
}
Add(Hub,12525052,126,119)
{
link(onEvent1,12869620:Init,[])
link(onEvent2,4049513:Init,[(168,132)(168,188)])
}
Add(Debug,2987836,266,182)
{
WEName="Result"
VDName=""
}
Add(Debug,4277039,266,217)
{
WEName="ResultType"
VDName=""
}

------------ Дoбавленo:

afandi, что я тебе писал в прошлый раз, ты не понял, а уже взялся за такие вещи, как переменные типа Variant, ну не делают так. Торопимся, но спешка нужна... Ну ты сам знаешь где.

nesco писал(а):
Планово изучи синтаксис Delphi, изучи явные отличия программирования под управлением KOL, а не VCL, изучи основы построения компонентов HiAsma и -- дерзай


Ключевое слово здесь -- Планово
карма: 22

1
Голосовали:afandi