Здравствуйте ув.Разработчики! Помогите с формой в C++ Builde

Здесь обсуждаются технические аспекты создания дополнений.
Аватара пользователя
Jenya-Grin
Сообщения: 356
Зарегистрирован: 20:30, 22.09.2011
Откуда: Украина, г.Бердичев

Здравствуйте ув.Разработчики! Помогите с формой в C++ Builde

Сообщение Jenya-Grin » 19:36, 23.07.2012

У меня есть примерчик плагина "Smiley" - это форма в окне чата.
Но он написан на Delphi.

А я изучаю C++, пишу в Билдере :idea:

Дайте пожалуйста какой-то примерчик
для Билдера с такой же формой в окне чата.

Желание сделать пару графических плагинов огромное.
Без вас мне не справится.

Аватара пользователя
Cilvay
Сообщения: 816
Зарегистрирован: 14:55, 16.06.2008

Re: Здравствуйте ув.Разработчики! Помогите с формой в C++ Bu

Сообщение Cilvay » 21:05, 29.07.2012

делай так же как в делфи - тупо портируй код.
Берешь строку из делфи и переписываешь тоже самое с синтаксисом си. Должно работать.
Исходник примера напрямую с билдера портирован в делфи
Наши плагины и многое другое: http://mcoding.ru/

Аватара пользователя
Jenya-Grin
Сообщения: 356
Зарегистрирован: 20:30, 22.09.2011
Откуда: Украина, г.Бердичев

Re: Здравствуйте ув.Разработчики! Помогите с формой в C++ Bu

Сообщение Jenya-Grin » 00:38, 30.07.2012

Cilvay писал(а):делай так же как в делфи - тупо портируй код.
Берешь строку из делфи и переписываешь тоже самое с синтаксисом си. Должно работать.
Исходник примера напрямую с билдера портирован в делфи


Вот допишу плагин и попробую!

Отпишусь.

Аватара пользователя
Jenya-Grin
Сообщения: 356
Зарегистрирован: 20:30, 22.09.2011
Откуда: Украина, г.Бердичев

Помогите с формой в C++ Builder

Сообщение Jenya-Grin » 15:36, 18.08.2012

Ребята я застрял на 1 моменте.

Вот у меня 2 архива: А_Delphi , B_C++ ...

Из А я добавлял строчки в B,
а в А удалял чтоб не путаться, чтоб видеть что осталось портировать.
Да застрял на 1 месте.

Помогите кто может. Вот вылаживаю 2 архива,
в А_Delphi только 1 файл PAS - тут только то что осталось добавить в B_C++.

IDE: C++ Builder 2010

a_Delphi.rar
То что осталось добавить для B_C++
(1.28 КБ) 225 скачиваний


b_C++.rar
А вот сюда вставить из A_Delphi
(7.85 КБ) 228 скачиваний

Maxim Mirgorodsky
Администратор
Сообщения: 6730
Зарегистрирован: 09:56, 27.06.2005
Благодарил (а): 1 раз

Re: Здравствуйте ув.Разработчики! Помогите с формой в C++ Bu

Сообщение Maxim Mirgorodsky » 10:05, 20.08.2012

Давайте вопросы конкретизируем. Не думаю, что пользователи будут загружать чужие исходники и в них что-то править.

Какая стоит задача? С чем именно сложность? Что не получается?

Аватара пользователя
Jenya-Grin
Сообщения: 356
Зарегистрирован: 20:30, 22.09.2011
Откуда: Украина, г.Бердичев

Re: Здравствуйте ув.Разработчики! Помогите с формой в C++ Bu

Сообщение Jenya-Grin » 13:00, 20.08.2012

Код: Выделить всё

function CallWndProcHookProc(CODE, WParam, LParam: DWORD): DWORD; stdcall;
var _CwpStruct : ^TCWPStruct;
begin
  try
    _CwpStruct := Pointer(LParam);
    case _CwpStruct.message of
      WM_SIZE :
        begin
          if Assigned(form1) and (form1.ParentChanHandle = _CwpStruct.hwnd) then
            FixWindowPos(form1);
        end;
    end;
  finally
    Result := CallNextHookEx(CallWndProcHookHandle, code, WParam, LParam);
  end;
end;



Вот эту функцию перевести немогу :(

Maxim Mirgorodsky
Администратор
Сообщения: 6730
Зарегистрирован: 09:56, 27.06.2005
Благодарил (а): 1 раз

Re: Здравствуйте ув.Разработчики! Помогите с формой в C++ Bu

Сообщение Maxim Mirgorodsky » 11:57, 21.08.2012

Что именно в этой функции?

Аватара пользователя
Jenya-Grin
Сообщения: 356
Зарегистрирован: 20:30, 22.09.2011
Откуда: Украина, г.Бердичев

Re: Здравствуйте ув.Разработчики! Помогите с формой в C++ Bu

Сообщение Jenya-Grin » 14:11, 21.08.2012

Maxim Mirgorodsky писал(а):Что именно в этой функции?


Ну у меня с самого начала вот с этой строкой
var
_CwpStruct : ^TCWPStruct; возникла проблема.
Конвертирую в c++ так:
сначала тип переменной пишу, потом имя:

^TCWPStruct _CwpStruct;

И компилятор ругается :(


Аватара пользователя
Jenya-Grin
Сообщения: 356
Зарегистрирован: 20:30, 22.09.2011
Откуда: Украина, г.Бердичев

Re: Здравствуйте ув.Разработчики! Помогите с формой в C++ Bu

Сообщение Jenya-Grin » 16:43, 29.08.2012

Вот застрял тут. Первую строку перевести немогу.
Блин, мне очень трудно портировать код....

Код: Выделить всё

  try
    _CwpStruct := Pointer(LParam);
   case _CwpStruct.message of
      WM_SIZE :
      begin
          if Assigned(form1) and (form1.ParentChanHandle = _CwpStruct.hwnd) then
            FixWindowPos(form1);
        end;
    end;
  finally
    Result := CallNextHookEx(CallWndProcHookHandle, code, WParam, LParam);
  end;


Может кто переведёт весь плагин, $ заплачу немного

Аватара пользователя
Jenya-Grin
Сообщения: 356
Зарегистрирован: 20:30, 22.09.2011
Откуда: Украина, г.Бердичев

Re: Здравствуйте ув.Разработчики! Помогите с формой в C++ Bu

Сообщение Jenya-Grin » 16:45, 29.08.2012

Почему все на Delphi пишут тут, незнаю...
Как по мне, то C++ удобнее в раза 3, и как-то воспринимается легче.

Аватара пользователя
Cilvay
Сообщения: 816
Зарегистрирован: 14:55, 16.06.2008

Re: Здравствуйте ув.Разработчики! Помогите с формой в C++ Bu

Сообщение Cilvay » 19:25, 29.08.2012

Jenya-Grin писал(а):Почему все на Delphi пишут тут, незнаю...
Как по мне, то C++ удобнее в раза 3, и как-то воспринимается легче.

100500 готовых компонентов, простой язык и высочайшая скорость разработки. Минусов нет
Наши плагины и многое другое: http://mcoding.ru/

Аватара пользователя
SV
Сообщения: 797
Зарегистрирован: 00:11, 06.09.2010
Откуда: Киров

Re: Здравствуйте ув.Разработчики! Помогите с формой в C++ Bu

Сообщение SV » 20:40, 29.08.2012

Cilvay писал(а):
Jenya-Grin писал(а):Почему все на Delphi пишут тут, незнаю...
Как по мне, то C++ удобнее в раза 3, и как-то воспринимается легче.

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

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

Аватара пользователя
Jenya-Grin
Сообщения: 356
Зарегистрирован: 20:30, 22.09.2011
Откуда: Украина, г.Бердичев

Re: Здравствуйте ув.Разработчики! Помогите с формой в C++ Bu

Сообщение Jenya-Grin » 01:32, 26.10.2012

Код: Выделить всё

function CallWndProcHookProc(CODE, WParam, LParam: DWORD): DWORD; stdcall;
var _CwpStruct : ^TCWPStruct;
begin
  try
    _CwpStruct := Pointer(LParam);


Теперь вот тут застрял: :?

_CwpStruct := Pointer(LParam);

Аватара пользователя
Jenya-Grin
Сообщения: 356
Зарегистрирован: 20:30, 22.09.2011
Откуда: Украина, г.Бердичев

Re: Здравствуйте ув.Разработчики! Помогите с формой в C++ Bu

Сообщение Jenya-Grin » 02:36, 27.10.2012

Код: Выделить всё

BOOL PluginStart(DWORD dwThisPluginID, typeCommFortProcess func1, typeCommFortGetData func2)
{
   dwPluginID = dwThisPluginID;
   CommFortProcess = func1;
   CommFortGetData = func2;

   ChatWindow = FindWindow("TfChatClient", NULL);
   ChannelsPanel = FindWindowEx(ChatWindow, 0, "TPanel", NULL);
   if ( CallWndProcHookHandle == 0 )
   {
      CallWndProcHookHandle = SetWindowsHookEx(WH_CALLWNDPROC, *CallWndProcHookProc, HInstance, GetCurrentThreadId() );
   }
   else
   {
     return FALSE;
     exit;
   }

   FHeight = 55;

   return TRUE;
}




Теперь вот тут неладное:

Код: Выделить всё

CallWndProcHookHandle = SetWindowsHookEx(WH_CALLWNDPROC, *CallWndProcHookProc, HInstance, GetCurrentThreadId() );


--------------
[BCC32 Error] form.cpp(278): E2034 Cannot convert 'unsigned long (*)(unsigned long,unsigned long,unsigned long)' to 'int (*)()'
[BCC32 Error] form.cpp(278): E2342 Type mismatch in parameter 'lpfn' (wanted 'int (*)()', got 'unsigned long (*)(unsigned long,unsigned long,unsigned long)')

...

Ответить