Собственный компонент

Тема в разделе "WASM.BEGINNERS", создана пользователем dgs, 21 мар 2009.

  1. dgs

    dgs New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2008
    Сообщения:
    434
    Здрасте. собственно сабж - нужно сделать свой контрол и сразу встал в стопор, да бы надо впихнуть его в DLL , но при LoadLibrary не вызывается DLLEntryProc, в чем может быть проблема? И где можно почитать про создание своих компонентов? Помогите пожалуйста...
     
  2. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    dgs
    Activex ?
     
  3. dgs

    dgs New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2008
    Сообщения:
    434
    RegisterClass
     
  4. iZzz32

    iZzz32 Sergey Sfeli

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    355
    dgs, а DLLEntryProc – это кто? Я только DllMain и DllEntryPoint знаю) На ком пишешь?
    Посмотри сюда (и другие статьи там же). Вполне читабельно, но на сях, правда.
     
  5. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    dgs
    На васме стотьи были про это гдето, давно видел.
    iZzz32
    Это нормально называется InitRoutine, Dll* это обычно имя в сурце процедуры.
     
  6. iZzz32

    iZzz32 Sergey Sfeli

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    355
    Clerk, линкер хочет по умолчанию то, что я перечислил. А вообще, тогда уж, это называется EntryPoint (если стандартной библиотеки нет, и управление сразу получает мой код). Я это всё к тому, что, может быть, оно поэтому и не вызывается, что обозвали неправильно?..
     
  7. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    iZzz32
    Линкеру без разницы, можешь хоть ExitProcess2 назвать, процедура не экспортируется. Повторяю настоящее имя, данное майкрософт это InitRoutine, остальное типа DllMain это имена скопипащенные с высокоуровневых языков.
     
  8. iZzz32

    iZzz32 Sergey Sfeli

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    355
    Антиоффтоп: dgs, пока ты разрабатываешь контрол, не обязательно помещать его в .dll. Если пишешь на асме, просто вынеси его в .inc, так отлаживать удобнее.
    Но сразу не забывай о том, что экземпляров у контрола может быть несколько, поэтому никаких глобальных переменных; GetWindowLongPtr(hWnd, GWLP_USERDATA) для получения указателя на приватные данные контрола – обычно первое, что делается в WindowProc; не забывай, кстати, эти данные создавать и удалять по WM_NCCREATE/WM_NCDESTROY. С этого стоит начать. Потом сделаешь отрисовку по WM_PAINT, обработку мыши и клавиатуры. Не забудь ещё про WM_GETTEXT/WM_SETFONT/WM_GETDLGCODE, кстати. Какой контрол будешь разрабатывать?

    Оффтоп: Clerk, см. PM.
     
  9. dgs

    dgs New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2008
    Сообщения:
    434
    Что-то на подобии Google Chrome, при загрузке файла с интернета, там с низу кнопки красивые появляются с инфой, ну и решил попробовать, что у меня получится...