Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.23;
Скачать: CL | DM;

Вниз

Помогите дописать компонент   Найти похожие ветки 

 
Ferrarium   (2002-05-13 15:32) [0]

В компоненте есть код для работы со сторонним компонентом (не входящим в стандартную оставку). Как надо написать код чтобы если компонент установлен код относящийся к нему компилировался, а если нет, то нет.
пример:
function DataSet_Open(DataSet:TDataSet):boolean;
begin
// как выкинуть этот код прикомпиляции компонента если
// не установлен TOraQuery
if DataSet is TOraQuery
then
begin
Result:=(DataSet as TOraQuery).Opening;
Exit;
end;
if DataSet is TQuery
then Result:=(DataSet as TQuery).Open
else Result:=DataSet.Open;
end;


 
Игорь Шевченко ©   (2002-05-13 16:57) [1]

День добрый,

Использовать не IS и AS а подобные им функции по имени класса,
например, аналог IS

function HSClassBasedOn (Value: TClass; const Name : String) : Boolean;
begin
Result := false;
while Value <> nil do begin
if SameText(Value.ClassName, Name) then begin
Result := true;
Exit;
end;
Value := Value.ClassParent;
end;
end;

if HSClassBasedOn(DataSet, "TOraQuery") then
...

После это выбираете (опять же, по имени) адрес метода Opening,
выполняете его и вуаля!

С уважением,



Страницы: 1 вся ветка

Текущий архив: 2002.05.23;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.01 c
3-73030
Helenka
2002-04-25 12:32
2002.05.23
связывание таблиц


1-73212
yastal
2002-05-10 19:25
2002.05.23
Подскажите как удалять динамически созданные компоненты


3-73006
jonik pegas
2002-04-25 14:23
2002.05.23
Null в поле Integer


3-73048
Oleg_er
2002-04-27 07:38
2002.05.23
В запросе ошибка - в чем проблема???


4-73460
gera-killer
2002-03-25 10:23
2002.05.23
как получить список всех файлов в заданном каталоге.