Форум: "Основная";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];
ВнизКомпонент в 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c