Конференция "WinAPI" » XPManifest для DLL ...
 
  • TUserClass (17.06.08 10:57) [0]
    О ужас - перепробовал абсолютно все ... Не хочет XPManifest у мну работать ... и создавал динамически и пробовал подключать xml с помощью brcc32.exe ( {$R XP.res} ) - ничего не работает ((((

    Кто-нить уже делал поддержку ХП тем для dll? Отзовитесь ...
  • Поросенок Винни-Пух © (17.06.08 11:07) [1]
    это должно быть в хост приложении а не в длл
  • TUserClass (17.06.08 11:12) [2]
    Вот у меня тулбар для MSIE ... Вот куда мне пихать {$R XP.res}?
    У меня в dll вот так....а толку нету:

    library SomeToolBar;
    uses
     ComServ, Forms,
     SomeIEToolBar_TLB in 'SomeIEToolBar_TLB.pas',
     Unit1 in 'Unit1.pas' {SomeIEBar: CoClass};

    exports
     DllGetClassObject, DllCanUnloadNow, DllRegisterServer, DllUnregisterServer;

    {$R xp.res}
    {$R *.TLB}
    {$R *.RES}

    begin

    end.

  • Игорь Шевченко © (17.06.08 11:13) [3]

    > Вот куда мне пихать {$R XP.res}?


    в MSIE
  • TUserClass (17.06.08 11:17) [4]

    > Игорь Шевченко ©   (17.06.08 11:13) [3]


    Прекрасный ответ... :) - а КАК ???
  • Rouse_ © (17.06.08 12:09) [5]
    Для тулбаров код манифеста не CREATEPROCESS_MANIFEST_RESOURCE_ID а
    ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID.

    Вот дефайны:
    // Необходимые константы {смотри MSDN}
    #define RT_MANIFEST  24
    #define CREATEPROCESS_MANIFEST_RESOURCE_ID  1
    #define ISOLATIONAWARE_MANIFEST_RESOURCE_ID  2
    #define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID  3
    #define CONTROL_PANEL_RESOURCE_ID 123

  • TUserClass (17.06.08 12:22) [6]

    > Rouse_ ©   (17.06.08 12:09) [5]


    т.е. в xpmanifest.rc должно быть так ???

    #define RT_MANIFEST  24
    #define CREATEPROCESS_MANIFEST_RESOURCE_ID  1
    #define ISOLATIONAWARE_MANIFEST_RESOURCE_ID  2
    #define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID  3
    #define CONTROL_PANEL_RESOURCE_ID 123

    CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST
    "windowsxp.manifest"



    потом компилю в brcc32, и подключаю в dll {$R windowsxp.RES} и все ????
  • TUserClass (17.06.08 12:27) [7]
    т.е.


    ....
    ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID RT_MANIFEST
    "windowsxp.manifest"

  • TUserClass (17.06.08 12:38) [8]
    эх....не работает ... ((
  • Rouse_ © (17.06.08 12:45) [9]

    > TUserClass   (17.06.08 12:27) [7]
    >
    > т.е.
    >
    >
    > ....
    > ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID RT_MANIFEST
    > "windowsxp.manifest"

    Да, или так или ISOLATIONAWARE_MANIFEST_RESOURCE_ID. Точно не помню, посмотри как в этом примере я делал: http://rouse.drkb.ru/winapi.php#propsheet
  • Rouse_ © (17.06.08 15:47) [10]
    Да все правильно. Ты должен подключить манифест для своей библиотеки. Т.к. в моем примере это был PropertySheet я использовал ISOLATIONAWARE_MANIFEST_RESOURCE_ID. У себя поэксперементируй. Должен быть либо он, либо ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID. После чего его нужно активировать при помощи ActivateActCtx(), иначе контролы останутся в старом стиле.
    Пример найдешь по моей ссылке - реализация в модуле ActivationCotext.pas
  • TUserClass (17.06.08 16:19) [11]

    > Rouse_ ©   (17.06.08 15:47) [10]


    ОК....чуть позже гляну ... уже скачал, но пока толком не разобрался :) спасибо ...
 
Конференция "WinAPI" » XPManifest для DLL ...
Есть новые Нет новых   [134433   +21][b:0][p:0.001]