Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запрос из dll [D5]


Oleg__ ©   (2003-01-17 10:01:00) 

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


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

> Oleg
...
type
PDatabase = ^TDatabase;

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

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

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

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


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

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


passm   (2003-01-17 13:01:00) [3]

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


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

Передать в качестве параметра не проблема, но! Проблема в том, что когда в 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"... Что делать?


OlegMsc   (2003-01-17 10:45:00) [5]

uses DataModuleWithDatabase;


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо