Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2009, 12:43   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию Ссылка на процедуру из dpr которая в pas

В UNTLoad:
Код:
Procedure CreateClass(Var WindowClass : TWndClass);
 Begin
  With WindowClass Do
  Begin
   Style := CS_PARENTDC;
   hIcon := LoadIcon(ApplHandle, MAKEINTRESOURCE('MAINICON'));
   lpfnWndProc := @WindowProc;
   hInstance := ApplHandle;
   hbrBackground := COLOR_BTNFACE + 1;
   lpszClassName := 'TAliusForm';
   hCursor := LoadCursor(0, IDC_ARROW);
  End;
 End;
В DPR:
Код:
Function WindowProc(hwnd, msg, wparam, lparam: longint): longint; stdcall;
Begin
  Result := DefWindowProc(hwnd, msg, wparam, lparam);
  Case Msg Of

  WM_DESTROY: ShutDown;
  End;
End;
Есть связь UNT > DPR; Ошибка на
Код:
   lpfnWndProc := @WindowProc;
Так как нет связи DPR > UNT.
Как передать указатель на функу?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 14.11.2009, 12:52   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

объяви в <untload.pas>:
Код:
  Function WindowProc(HWND,{Ïðîöåäóðà îáðàáîòêè ñîîáùåíèé  }
                    Msg,
                    wParam,
                    lParam: Longint): Longint; Stdcall;

implementation

Function WindowProc(HWND,{Ïðîöåäóðà îáðàáîòêè ñîîáùåíèé  }
                    Msg,
                    wParam,
                    lParam: Longint): Longint; Stdcall;
 Begin
   Result := DefWindowProc(HWND, Msg, wParam, lParam);
   Case Msg Of

   WM_MOUSEMOVE: LightForButtons;   {Ïðîöåäóðà ïîäñâåòêè êíîïîê   }
   WM_DESTROY  : ShutDown;          {Çàâåðøåíèÿ ïðîãðàììû         }
   End;
 End;

End.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 14.11.2009, 12:55   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Всем спасибо, за внимание, решил так:
Код:
Procedure CreateClass(Proc : Pointer; Var WindowClass : TWndClass);
 Begin
  With WindowClass Do
  Begin
   Style := CS_PARENTDC;
   hIcon := LoadIcon(ApplHandle, MAKEINTRESOURCE('MAINICON'));
   lpfnWndProc := Proc;
   hInstance := ApplHandle;
   hbrBackground := COLOR_BTNFACE + 1;
   lpszClassName := 'TAliusForm';
   hCursor := LoadCursor(0, IDC_ARROW);
  End;
 End;
Код:
 CreateClass(@WindowProc, WinClass);
2raxp. Чето не понял...
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 14.11.2009, 13:00   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

имел ввиду, лучше поменять местами... ну так тоже ок
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбить dpr на юниты Alex Cones Общие вопросы Delphi 5 08.11.2009 16:40
как создать процедуру для кнопки которая еще не создана? DeepPurple Общие вопросы Delphi 10 21.05.2009 13:50
Что случилось с DPR? Ash Общие вопросы Delphi 2 05.12.2008 18:35
Составить процедуру, которая в задоном массиве С заменяет элементы Absent Помощь студентам 1 25.03.2008 23:11