TDatabase в TQuery

lvilvi
отредактировано 16:26 Раздел: FastScript
В стандартном варианте нет описания доступа из TQuery в TDataBase

Вот участок исходника
AddClass(TSession, 'TComponent');
AddClass(TDatabase, 'TComponent')
AddClass(TBDEDataSet, 'TDataSet');
AddClass(TDBDataSet, 'TBDEDataSet');
with AddClass(TQuery, 'TDBDataSet') do
begin
AddMethod('procedure ExecSQL', CallMethod);
AddMethod('function ParamByName(const Value: string): TParam', CallMethod);
AddMethod('procedure Prepare', CallMethod);
AddProperty('ParamCount', 'Word', GetProp, nil);
end;

Я пытаюсь добавить проперти

-> AddProperty('DataBase', 'TDataBase', GetProp, nil);

И сдесь function TFunctions.GetProp(Instance: TObject; ClassType: TClass;
const PropName: String): Variant;
добавляю

if ClassType = TQuery then
begin
if PropName = 'PARAMCOUNT' then
Result := TQuery(Instance).ParamCount
-> else if PropName = 'DATABASE' then
-> Result := TQuery(Instance).DataBase
end

Не хочет приводить TDataBase к variant

Подскажите , как это делать ???????

Комментарии

  • отредактировано 16:26
    lvi написал:
    if ClassType = TQuery then
    begin
    if PropName = 'PARAMCOUNT' then
    Result := TQuery(Instance).ParamCount
    -> else if PropName = 'DATABASE' then
    -> Result := TQuery(Instance).DataBase
    end
    Сделай...
    if ClassType = TQuery then
    begin
    if PropName = 'PARAMCOUNT' then
    Result := TQuery(Instance).ParamCount
    else if PropName = 'DATABASE' then
    {!!!!!!!!!!!!!!!!!!!!!--->} Result := Integer(TQuery(Instance).DataBase)
    end

    все равно указатель передаешь
  • lvilvi
    отредактировано 16:26
    Спасибо - млин - ведь делал же ужетак , но в голове от работы полный срачь. ЕЩЁ РАЗ СПАСИБО.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.