Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Передаю Connection в DLL - получаю ошибку / 5 сообщений из 5, страница 1 из 1
23.04.2020, 00:09
    #39950245
BowMaster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передаю Connection в DLL - получаю ошибку
Для примера текст DLL:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
...
procedure Work(Con:TFDConnection); stdcall;
var QR:TFDQuery;
begin
  QR:=TFDQuery.Create(nil);
  QR.Connection:=Con;
  QR.SQL.Text:='SELECT * FROM "Table1"';
  QR.Active:=true;
end;

exports
  Work name 'WorkDLL';

begin
end;



в программе передаю TFDConnection:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
...
procedure UseWorkDLL(Conn:TFDConnection); stdcall; 
external 'MyDll.dll' name 'WorkDLL';
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  FDConnection1.Connected:=true;
  UseWorkDLL(FDConnection1);
end;
...



FDConnection1 лежит на форме, все подключается. В dll возникает ошибка при "QR.Active:=true;". Пишет " invalid class typecast" в модуле FireDAC.Phys, на строке "oUpdOpts := FOptions.UpdateOptions as TFDBottomUpdateOptions;".
Что я делаю не так и как заставить работать?
...
Рейтинг: 0 / 0
23.04.2020, 00:21
    #39950246
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передаю Connection в DLL - получаю ошибку
BowMasterЧто я делаю не так

Используешь DLL. Если так приспичило - используй BPL. А лучше вообще подумай семь раз
нужна ли тебе такая модульность.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
23.04.2020, 00:27
    #39950248
BowMaster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передаю Connection в DLL - получаю ошибку
Dimitry Sibiryakov, проблема оказалась в том что в проекте dll, хоть и стояла галка на Link with runtime packages, как и в проекте exe, но не стояла галка в раскрывающемся меню Runtime Packages - Inherited. Когда поставил заработало.
ТЕМУ МОЖНО ЗАКРЫВАТЬ.
...
Рейтинг: 0 / 0
23.04.2020, 00:36
    #39950252
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передаю Connection в DLL - получаю ошибку
BowMaster,

Один из способов - держать в DLL отдельный Connection (создавать и освобождать его внутри DLL)
...
Рейтинг: 0 / 0
23.04.2020, 04:42
    #39950279
istrebitel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передаю Connection в DLL - получаю ошибку
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Передаю Connection в DLL - получаю ошибку / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]