Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.08.21;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "Основная";
Текущий архив: 2003.08.21;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.009 c
3-68194
Magic&Wizard
2003-07-28 11:58
2003.08.21
API InterBase и FireBird


8-68414
Марина
2003-04-23 15:48
2003.08.21
мерцание экрана при передвижении объектов


3-68237
Romann
2003-07-26 09:57
2003.08.21
Таблицы FoxPro


14-68556
VEG
2003-08-04 20:20
2003.08.21
На каком основании форум показывает/скрывает в


4-68583
Flex
2003-06-18 15:55
2003.08.21
Помогите HOOK CTRL+INS+INS





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский