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

Вниз

Запрос из dll   Найти похожие ветки 

 
Oleg__   (2003-01-17 10:01) [0]

Есть приложение и dll-ка. В приложении имеется копмонент TDatabase. В DLL - компонент TQuery. Как сделать, чтобы выполнять запросы к базе из DLL, не создавая нового соединения, т.е. через TDatabase в приложении.


 
filyandiya   (2003-01-17 10:43) [1]

а есть проблема передать Database в качестве параметра?


 
OlegMsc ©   (2003-01-17 10:45) [2]

uses DataModuleWithDatabase;


 
Oleg__   (2003-01-17 12:56) [3]

Передать в качестве параметра не проблема, но! Проблема в том, что когда в TQuery заполняются свойства:

type
PDatabase = ^TDatabase;

procedure Execute(Database: PDatabase);
begin
Query.SessionName = Database.SessionName;
Query.DatabaseName = Database.DatabaseName;
....
Query.Open;
end

то возникает ошибка "Invalid session name", "Invalid database name"... Что делать?


 
passm ©   (2003-01-17 13:01) [4]

Помести в DLL Database и передай ему Handle от Database приложения, но DatabaseName должны бать разными. Проверено - работает :)


 
Oleg__   (2003-01-17 13:12) [5]

>passm Спасибо, все пошло


 
filyandiya   (2003-01-17 16:39) [6]

> Oleg
...
type
PDatabase = ^TDatabase;

procedure Execute(Database: PDatabase);
begin
Query.SessionName = Database.SessionName;
...

ЧЁ ЗА БРЕД????!!!???
зачем тут указатель??? переменная типа класс - сама уже указатель....

....
procedure Execute(Database: TDatabase);
begin
Query.SessionName = Database.SessionName;
...

....в страшном мире мы живем:(((



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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
3-4745
andwcomm
2003-01-15 21:20
2003.02.03
Как програмно узнать физическое расположение файла базы данных


14-5216
Феликс
2003-01-15 15:42
2003.02.03
inclide virtual?


1-4864
alois
2003-01-21 23:13
2003.02.03
Выравнивание текста в Memo/RichEdit текста по ширине


1-5051
Sergei
2003-01-23 23:31
2003.02.03
Анимация при показе окна


6-5107
FH
2002-12-06 11:18
2003.02.03
Имя компьютера по IP