Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Как рисовать в MFC с операционной x64, с Visual St


Автор: Snake2015 25.1.2015, 19:25
Помогите пожалуйста.
Как рисовать в MFC с операционной x64, с Visual Studio 2013. Не могу найти рабочие ActiveX для 64 разрядной... Остальные не регистрируются. Что можно сделать вместо C BRush... Спасибо заранее за внимательность и помощь.
С уважением, А.

Автор: vol4ek 25.1.2015, 20:39
Цитата(Snake2015 @ 25.1.2015,  19:25)
Помогите пожалуйста.
Как рисовать в MFC с операционной x64, с Visual Studio 2013. Не могу найти рабочие ActiveX для 64 разрядной... Остальные не регистрируются. Что можно сделать вместо C BRush... Спасибо заранее за внимательность и помощь.
С уважением, А.

Уважаемый А, рисовать также как и х86. большинство activex 32-х битные, если сильно хочется х64 то создать самому но я хз зачем. для регистрации DllRegisterServer() и гугл в помощь или regsvr32 c консоли. И боже, как увидел чуть сердце не остановилось, что? Что гады сделали с классом CBrush пока я спал? рРребята я не в курРрсе. smile 

Автор: vol4ek 25.1.2015, 20:59
http://www.codenet.ru/progr/visualc/vc/19.php
для установки \ отмены регистрации ActiveX, необходимо загрузить ActiveX как обычную dll и вызвать функцию DllRegisterServer для регистрации и DllUnregisterServer для отмены регистрации.

Автор: Snake2015 25.1.2015, 21:14
Знаю, но я пока, увы не обнаружил ни одного рабочего ActiveX...  Regsvr32 пишет, что в данной системе зарегистрировать нельзя, проверить разрядность (пробовал тут: http://www.codeproject.com/Articles/3214/D-Graph-ActiveX-Control), пока успеха нет, увы...

Автор: vol4ek 25.1.2015, 21:25
выложите ActiveX на файлообменник и дайте ссылку.
программная регистрация 
Код

HINSTANCE hLib = LoadLibraryA("My.ocx");
    if(hLib == NULL)
    {
        MessageBoxA(NULL,"Не удалось загрузить ocx","",MB_OK);
        FreeLibrary(hLib);
    }
    FARPROC lpDllEntryPoint = GetProcAddress(hLib, "DllRegisterServer");
    if(lpDllEntryPoint() == NOERROR)
    {
        MessageBoxA(NULL,"Регистрация прошла успешно","",MB_OK);
    }
    FreeLibrary(hLib);

удаление регистрации
Код

HINSTANCE hLib = LoadLibraryA("My.ocx");
    if(hLib == NULL)
    {
        MessageBoxA(NULL,"Не удалось загрузить ocx","",MB_OK);
        FreeLibrary(hLib);
    }
    FARPROC lpDllEntryPoint = GetProcAddress(hLib, "DllUnregisterServer");
    if(lpDllEntryPoint() == NOERROR)
    {
        MessageBoxA(NULL,"Регистрация удалена","",MB_OK);
    }
    FreeLibrary(hLib);

Ваш ActiveX точно свободно распостраняемый и не требует лицензии надеюсь?

Автор: Snake2015 25.1.2015, 23:49
Точно. Да я уже многие испробовал. Быть может из-за того, что у меня Windows 8. Есть ли что другое аналогичное ActiveX?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)