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

Вниз

работа с компонентами 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
1-8812
myportal
2002-01-19 10:00
2002.02.04
Как извлеч ресурс из программы в отдельный файл?


1-8851
Dennis S
2002-01-16 11:42
2002.02.04
Событие на Мышь


3-8779
Kirill
2001-12-29 15:04
2002.02.04
Поиск в ADO Table


1-8832
Chak
2002-01-18 14:52
2002.02.04
Добавление, удаление файлов в директории


4-9038
Artis
2001-12-09 13:24
2002.02.04
Как узнать размер файла?