Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];

Вниз

работа с компонентами DOA   Найти похожие ветки 

 
EternalWonderer   (2002-01-03 17:30) [0]

Дано:
1. DataModule, с расположенным на нём TOracleQuery, в dll;
Из dll экспортируется функция:
Function NotBusyQuery: TOracleQuery; Export;
2. Имеется вызывающий модуль, в котором:

Function NotBusyQuery: TOracleQuery; external "DBAccess.dll";

Procedure Form1.Button1Click(Sender: TObject);
Var q: TOracleQuery;
v: Variant;
Begin
q := NotBusyQuery;
q.SQL.Add("SELECT ...");
q.Execute;
v := Field(0); // вот здесь вылетает "Invalid Class Typecast"
End;


Проблема: см. комментарий в тексте выше.

Дополнительные сведения:
1. До этого использовался TSQLQuery, выполнение v:=Fields[0].AsVariant проходило "на ура";
2. Выражение Variant1 := Field(0) внутри dll, в которой находится DataModule, проходит без проблем.

Прошу совета - что делать? Вроде ошибки нет, а не работает ...


 
petr_v_a   (2002-01-03 17:36) [1]

Если надо получить курсор, то не TOracleQuery, а TOracleDataset,
и не execute, а open


 
EternalWonderer   (2002-01-04 10:55) [2]

Конечно, можно, но:
You can use a TOracleQuery to execute any SQL statement or PL/SQL block in a session. This is a very low-level component that works directly on top of SQL*Net without any overhead. It should therefore always be used when you don"t need data-aware components on the results of a query.

Мне всего - то надо, чтобы работал пример из Help,
где в моём случае SelectQuery - ссылка на объект в подгружаемой dll:

// SelectQuery.SQL = select * from dept order by deptno
with SelectQuery do
try
Execute;
Row := 1;
// Fill the grid
while not Eof do begin
DeptGrid.Cells[0, Row] := Field("DEPTNO");
DeptGrid.Cells[1, Row] := Field("DNAME");
DeptGrid.Cells[2, Row] := Field("LOC");
Inc(Row);
Next;
end;
except
on E:EOracleError do ShowMessage(E.Message);
end;




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

Форум: "Базы";
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
3-8771
Reals
2002-01-05 19:37
2002.02.04
Как правильно сделать проверку в таблице...


4-9034
KIR
2001-12-04 00:51
2002.02.04
Как зарегистрировать свой тип файлов


1-8834
Ajax
2002-01-15 09:31
2002.02.04
Изменение свойств KOL формы


1-8819
vbazik
2002-01-15 18:01
2002.02.04
Копирование фрагмента изображения


1-8874
Antoniz
2002-01-16 10:00
2002.02.04
Работа с потоками





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский