Finardin

Forum Replies Created

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • in reply to: AlphaControls в DLL-библиотеке #54576
    Finardin
    Participant
    'Support' wrote:

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

    ЗЫ. Информация про Сервер очень помогла.

    Поставил релизную версию. К сожалению, не взлетело, описанная выше проблема осталась.

    Но я, собственно, решение нашел (поэтому и не писал здесь долго, прошу прощения) – спасибо DevExpress'у, от него отталкивался.

    Так вот, если в хостовом приложении куда-нибудь в блок Initialization (я это сделал в интерфейсном файле DLL-библиотеки) добавить выполнение нижеприведенной функции, то все становится замечательно, проблема уходит.

    Вот листинг функции:

    Code:
    function PopulateShellImages: Boolean;
    var
    ShellDLLLoaded: Boolean;
    ShellDLL: HMODULE;
    Proc: function(FullInit: BOOL): BOOL; stdcall;
    LIsWinNT: Boolean;
    begin
    LIsWinNT := Win32Platform = VER_PLATFORM_WIN32_NT;
    Result := False;
    ShellDLL := 0;
    if LIsWinNT then
    begin
    ShellDLLLoaded := False;
    ShellDLL := GetModuleHandle(ShellAPI.Shell32);
    if ShellDLL = 0 then
    begin
    ShellDLL := LoadLibrary(ShellAPI.Shell32);
    if ShellDLL <= Windows.HINSTANCE_ERROR then
    ShellDLL := 0;
    ShellDLLLoaded := ShellDLL <> 0;
    end;
    if ShellDLL <> 0 then
    try
    Proc := GetProcAddress(ShellDll, PChar(660));
    Result := (@Proc <> nil) and Proc(True);
    finally
    if ShellDLLLoaded then FreeLibrary(ShellDll);
    end;
    end;
    end;
    in reply to: AlphaControls в DLL-библиотеке #54355
    Finardin
    Participant

    Появилась еще инфа.

    Вышеописанная проблема возникает в Win7, в том случае, если выключить службу виндовую службу Сервер.

    Если служба включена – никаких проблем нет.

    in reply to: AlphaControls в DLL-библиотеке #54130
    Finardin
    Participant

    Вообщем, методов проб, ошибок и тупого перебора выявил следующие вещь:

    1. При статическом подключении DLL-библиотеки, содержащей Alpha-компоненты, все работает

    2. При динамическом подключении этой жи DLL-библиотеки – ни фига не работает, программа затыкается где-то внутри метода LoadLibrary.

    3. Если в хостовое приложение в Uses добавить любой из модулей AlphaControls, динамическая загрузка тоже наичнает отрабатывать. Но для меня это, к сожалению, не вариант, потому как эта DLL-ка будет подключена к проектам, разработчики которых вашим пакетом не пользуются.

    В аттаче группа проектов (основное приложение и DLL-ка). В основном приложении – две кнопки, одна реализует статическую загрузку, вторая – динамическую.

    Если строчку “function ShowSampleDll: boolean; stdcall; external 'Sample.dll';” раскомментить, будет работать и динамическая загрузка! Для этого функцию ShowSampleDll даже выполнять необязательно.

    Очень прошу помочь.

    Заранее спасибо.

    in reply to: AlphaControls в DLL-библиотеке #54089
    Finardin
    Participant
    'Support' wrote:

    Возможно там антивирус какой-то установлен и он не дает работать нормально?

    Там Каспер стоит. Но я его отрубил, вроде.

    in reply to: AlphaControls в DLL-библиотеке #54086
    Finardin
    Participant

    В понедельник сделаю слегка урезанную версию и выложу.

    Правда, я не знаю, чем исходник поможет. ( Кроме, разве что, набора компонентов, которые я там использую. Беда в том, что ошибку не удается даже воспроизвести на своем рабочем месте.

    Может инциализации Альфа-компонентов мешать какое-то установленное на компьютере ПО?

    in reply to: AlphaControls в DLL-библиотеке #54081
    Finardin
    Participant

    Уважаемые разработчики, выручайте. Не хотелось бы переписывать DLL-ку и искать иные решения, только потому, что на пяти рабочих местах появилась какая-то левая ошибка. (

    Кроме вас, мне вряд ли кто-то сможет помочь. (

    in reply to: AlphaControls в DLL-библиотеке #54080
    Finardin
    Participant

    Обновил версию Альфы до 2015 v10.17. Не помогло. (

Viewing 7 posts - 1 through 7 (of 7 total)