![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отличия обычного проекта и Dll-проекта
Starkom © (2002-10-18 12:53:00)Была прога с кучей кода. Оформили ее, как Dll, чтобы включить в другой Билдерный проект. Перестало работать очень многое (код не менялся). Капшены у форм присваиваться неправильно стали, кейпрессы в комбобоксах перестали обрабатываться. Да вообще много что перестало или стало по-другому работать!!!
Помогите, что делать в данной ситуации?
NUU (2002-10-21 13:12:00) [21]Сорбственно а чего Вы хотели чтобы было.
Естественно глючит, Application.Run надо было бы и оставить.
Да и MainForm инициализироваться должна Application.CreateForm(TMainForm, MainForm);Иначе она Application.MainForm никогда и не будет.Посмотри сырцы Application.CreateForm и все поемешь.
Starkom (2002-10-21 10:03:00) [22]просто вместо .dpr-ного
Application.Initialize;
Application.CreateForm(TMainForm, MainForm);
Application.Run;
вставили вызов функции из Dll -
procedure RunGen();
begin
MainForm:=TMainForm.Create(nil);
MainForm.Show();
end;
exports
RunGen;
Код MainForm вообще не меняли.
А насчет стека при вызове функций - в Билдере везде юзаем __fastcall
Петров Денис (2002-10-21 09:44:00) [23]В параметрах функций DLL есть пасквилевские строки (в смысле string)? Если есть - то неплохо переделать их в PChar.
Опять же, C++ и Delphi обычно используют разную организацию стека при вызове функций - эта проблема решается унификацией описания прототипов функций с каким-нибудь модификатором типа "stdcall".
Bis (2002-10-21 09:39:00) [24]а как вызываешь формы дельфовские из буилдера?
и кстати, ты инстанцию передаешь?
Starkom (2002-10-21 09:18:00) [25]Проект был отписан на Delphi 5
Затем переделан под Dll в нем же.
Проект, юзаюзий Dll, пишется на Builder 5.
Bis (2002-10-21 09:08:00) [26]Ты бы описал хоть, какую среду используешь!
Я то знаешь ли есть особенности что и как прилинковывать...
Starkom (2002-10-21 08:58:00) [27]да блин
что дебажить то?
Opuhshii (2002-10-18 15:55:00) [28]"что делать в данной ситуации?"
посмотреть,.. пересобрать проект,... посмотреть,.. и дебажить, дебажить дебажить,...
Starkom (2002-10-18 15:50:00) [29]ну помогите, пожайлуста! Хотя бы возможные причины. А то мы не знаем даже, с какой стороны подойти.