Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
ВнизДинамическое определение типа? Найти похожие ветки
← →
Erik © (2004-05-07 13:45) [0]Как мне лучше всего сделать это конструкцию динамической?
TActiveEvent = (actExit, actSend);
RAction = record
Event: array[TActiveEvent] of THandle;
Call: array[TActiveEvent] of TNotifyEvent;
end;
Тоесть я хочу переопределять TActiveEvent при вызове конструктора. Есть одно ограничение:
WaitForMultipleObjects(Ord(High(tmEvent.Event)) + 1, @tmEvent.Event, false, INFINITE)
← →
Erik © (2004-05-07 13:48) [1]Возможно мне ненадо делать это в RunTime, но как это коректно подставить компилятору несоображу. Использую при создании наследника от базового класа.
← →
Digitman © (2004-05-07 13:51) [2]
> при вызове конструктора
конструктора чего ?
> Как
никак.
выбранный тип поля Event не подразумевает никакой "динамичности" - следует определить его либо как дин.массив либо как класс. поддерживающий некий динамически формируемый список
← →
Digitman © (2004-05-07 13:57) [3]т.е. речь идет о compile-time ?
а в чем некорректность ? компилятор успешно "проглатывает" все упомянутые конструкции ..
← →
Erik © (2004-05-07 15:25) [4]Я хочу переоределить в потомке TActiveEvent. Например из пяти команд. А как это красиво описать еще недодумался.
← →
Digitman © (2004-05-07 15:27) [5]
> в потомке TActiveEvent
о каком таком "потомке" может идти речь, если это не класс ?
← →
Erik © (2004-05-07 15:57) [6]Это конечно не клас, но класс использует record.
TCustomThread = class(TThread)
private
fActive: Boolean;
tmEvent: PAction;
// tmEvent: RAction;
.......
procedure TCustomThread.SetEvent;
var
i: TActiveEvent;
begin
for i := Low(tmEvent.Event) to High(tmEvent.Event) do
begin
tmEvent.Event[i] := CreateEvent(nil, false, false, nil);
end;
end;
....
Это пример а в потомке мне хочется иметь больше событий.
← →
Digitman © (2004-05-07 16:07) [7]все равно - непонятно, в чем проблема ...
← →
Григорьев Антон (2004-05-07 16:12) [8]Нету в Delphi параметризованных типов, так что ничего не получится.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.048 c