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

Вниз

Компонент в DLL   Найти похожие ветки 

 
Мрась   (2006-06-07 13:20) [0]

Подскажите как поместить на форму компонент, описанный в dll.
Раньше код выглядел примерно так:

type
 IMyInterface = interface
   ...
 end;

 TMyObject = class(T..., IMyInterface)
   ...
 end;

var
 MyObject: IMyInterface

в теле программы делал так:

MyObject:= TMyObject.Create(...);

и всё было ок
затем решил подгружать MyObject из DLL функцией
function LaodMyObject(Owner: TComponent): IMyObject; external "my.dll";
и весь код, связанный с TMyObject перенёс в DLL
программа начала косячить в тех местах, где обращается к MyObject.
пошаговая отладка показала, что при создании компонента из dll конструктор TMyObject.Create игнорируется, обрабатывается конструктор родителя.
подскажите plz в чём проблема


 
tesseract ©   (2006-06-07 14:20) [1]

Тут много по формам в dll, не работают!.

Ну что нельзя через ISpecifyPropertyPage  или ActiveX форму использовать?


 
Мрась   (2006-06-07 14:44) [2]

это ответ или способ уйти от ответа?
если ответ, то нельзя ли поподробнее


 
Мрась   (2006-06-07 15:04) [3]

УЖОС!
я нашёл ошибку... я конструктор засунул в секцию private
извиняюсь очень

P.S. теперь ошибка в чём-то другом ))


 
tesseract ©   (2006-06-07 15:04) [4]

у DLL много точек входа.
У неё отстуствуют глобальные переменные. Переменные, в том числе и твоей формы будут доступны только до тех пор пока не вернёться функция.

те там окно about показать можно, но создавать и разрушать его можно только внутри функции.

Если хочешь чтобы даннеы сохранялись, опубликуй фрейм в ActiveX. Мастер в Delphi есть.



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

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

Наверх




Память: 0.47 MB
Время: 0.028 c
15-1151181055
Alx_
2006-06-25 00:30
2006.07.23
Процессы подгружающие DLL из AppInit_DLLs


15-1151054373
Piter
2006-06-23 13:19
2006.07.23
Отмена платы за входящие на мобильные


2-1151672078
Zilog
2006-06-30 16:54
2006.07.23
FloatToStr и стандарты в Windows


2-1152017633
NBU
2006-07-04 16:53
2006.07.23
Delfi 7 and MS SQL 2000


15-1151242133
dmitry99
2006-06-25 17:28
2006.07.23
Новосибирску 113 лет!