Вниз
Скачать: CL | DM;

DLL , MDI и TAction   Найти похожие ветки 

← →
Tiny   (2003-08-07 10:38) [0]

Люди! Подскажите plz! Есть прога(MDI) есть DDL с MDIChild формой
Все отлично работает - кроме одного(пока :-) : В проге есть меню "Окна" (Standard Action) (типа "Выровнять","Каскадом" и т.д.). Вот при попытке просто открыть это меню прога вылетает с AV.
Другими словами - не работает TAction c MDI из DLL :-((((
Как с этим бороться??


← →
Tiny   (2003-08-07 10:58) [1]

Ну подскажите кто-нибудь!


← →
Tiny   (2003-08-07 11:32) [2]

алллееее! ((


← →
Skier ©   (2003-08-07 11:36) [3]


> Вот при попытке просто открыть это меню прога вылетает с
> AV.

Какое AV ? Конкретно.


← →
Tiny   (2003-08-07 11:48) [4]

AV оно и есть AV:
access violation at 0x00000072:read of address 0x00000072

Что тебе это дало?? (

Я как понимаю MDIForm видит что есть Child но не может найти ActiveMDIForm....или как? и как это лечить?

Или к примеру просто как максимизировать mdi форму в длл из основного приложения (не делая экспортируемой ф-ии)?


← →
Tiny   (2003-08-07 12:35) [5]

Доктор,меня все игнорируют!


← →
Tiny   (2003-08-07 14:28) [6]

Злые вы, уйду я от вас!...(


← →
panov ©   (2003-08-07 15:05) [7]

Видимо предполагается, что все будут угадывать, в какой строке программы есть ошибка.


← →
Tiny   (2003-08-07 15:54) [8]

Да нет...уже дело даже не в программе (вылетает Toolbar2000...с обымным меню ошибка не появляется...)

Вопрос уже по другому звучит : почему основное MDI приложение не видет MDIChild формы из dll
то еть можно загрузить 20 dll (20 форм) а в приложении MDIChildcount все равно = 0
Как сделать чтоб приложение видело формы??


← →
panov ©   (2003-08-07 16:47) [9]

>Tiny (07.08.03 15:54)

Так ты и не хочешь показать свой секретный код...


← →
dez ©   (2003-08-07 17:39) [10]

убери оттуда это меню и все


← →
Tiny   (2003-08-08 06:33) [11]

panov © (07.08.03 16:47)
да нету там никакого кода практически :

DLL

procedure Init(ExeApp:TApplication; DB:TIBDatabase; CallbackHndl:Pointer);export;stdcall;
begin

if Assigned(ExeApp) then
begin
DllApp:=Application;
Application:=ExeApp;

end;
if Assigned(DB) then
Database:=DB;

Form1:=TForm1.Create(Application.MainForm);
Form1.Show;
if Assigned(CallbackHndl) then
CbHndl:=TCallbackHandler(CallbackHndl);

end;


EXE


DllH:=LoadLibrary(PChar(FileName));
@GetPluginInfo:=GetProcAddress(DllH,PLUGIN_GETINFO);
if @GetPluginInfo = nil then
raise ENotPlugin.Create("");
Info:=GetPluginInfo;

@InitPlugin:=GetProcAddress(DllH,PLUGIN_INIT_BASE);
if @InitPlugin = nil then
raise ENotPlugin.Create("");
( Application,MainFrm.Database,@CallbackHandler)
panov © (07.08.03 16:47)
да нету там никакого кода практически :

DLL

procedure Init(ExeApp:TApplication; DB:TIBDatabase; CallbackHndl:Pointer);export;stdcall;
begin

if Assigned(ExeApp) then
begin
DllApp:=Application;
Application:=ExeApp;

end;
if Assigned(DB) then
Database:=DB;

Form1:=TForm1.Create(Application.MainForm);
Form1.Show;
if Assigned(CallbackHndl) then
CbHndl:=TCallbackHandler(CallbackHndl);

end;


EXE


DllH:=LoadLibrary(PChar(FileName));
@GetPluginInfo:=GetProcAddress(DllH,PLUGIN_GETINFO);
if @GetPluginInfo = nil then
raise ENotPlugin.Create("");
Info:=GetPluginInfo;

@InitPlugin:=GetProcAddress(DllH,PLUGIN_INIT_BASE);
if @InitPlugin = nil then
raise ENotPlugin.Create("");
InitPlugin(Application,MainFrm.Database,@CallbackHandler);



Код урезаный там на самом деле больше но это к делу не относится...

dez © (07.08.03 17:39)
убери оттуда это меню и все

Дай мне нормальное красивое меню и тулбар...


← →
Tiny   (2003-08-08 12:56) [12]

Так никто и не подскажет??


← →
panov ©   (2003-08-08 13:13) [13]

Application в DLL и основной программе не есть одинаковые величины.

Попробуй этом направлении посмотреть.


← →
Tiny   (2003-08-08 13:57) [14]


> panov © (08.08.03 13:13)
> Application в DLL и основной программе не есть одинаковые
> величины.
>
> Попробуй этом направлении посмотреть.

для того и сделал это :

if Assigned(ExeApp) then
begin
DllApp:=Application;
Application:=ExeApp;
end;

не помогает...

Что еще можете посоветовать...??



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.014 c
14-68546
Скорбящий
2003-08-04 20:36
2003.08.21
Вопрос к участникам


1-68381
Скорбящий
2003-08-07 18:28
2003.08.21
Рисование в редактируемом поле компонента типа TEdit


14-68479
Романов Р.В.
2003-08-05 17:12
2003.08.21
Вирусняк


4-68594
SergeyI
2003-06-20 11:26
2003.08.21
Работа с файлами


14-68551
seregin
2003-08-04 08:22
2003.08.21
Устройство прокси




   Наверх