Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Dll и формы

471
12 мая 2006 года
_MC_
178 / / 13.01.2005
Доброе время суток!

Вот пришло время изучить разработку плагинов.
Побродил, почитал, достаточно много инфы по этой теме. Но вся она либо поверхостно либо для профи, а не для моей капусты!

Стал писать маленький пример и сразу споткнулся :(
Код примера:

test.cpp
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TApplication *App=Application;
    void (__stdcall *ShowForm)(TApplication* ExeApp);
    HINSTANCE dllInstance = LoadLibrary("DLLForm.dll");
   if (dllInstance)
   {ShowForm = (void(__stdcall *)(TApplication* App))
    GetProcAddress(dllInstance, "_ShowForm");
    if (ShowForm) ShowForm(App);
   
    else ShowMessage("ERR#2");
   }
   else ShowMessage("ERR#1");

    FreeLibrary(dllInstance);        
}


dll.cpp
 
Код:
extern "C" void __export ShowForm(TApplication* ExeApp)
{
    TFormInDll *form;
    Application=ExeApp;
    form=new TFormInDll(0);
    form->ShowModal();
    delete form;
}


Проблемы в том что если отключить Build in rintime, чтоб программа работала на всех компах, выскакивает ошибка с памятью.

Как быть?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог