powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Помогите с окном на winAPI
5 сообщений из 5, страница 1 из 1
Помогите с окном на winAPI
    #39737866
amadeus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите разобраться в проблеме. Создаю окно при помощи winAPI, но при запуске приложения оно вылетает с ошибкой "Память не может быть read". Что я не так делаю? Вот код:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
constructor TForm.create(className: String);
begin
  FWndClass.style := CS_HREDRAW or CS_VREDRAW;
  FWndClass.cbClsExtra := 0;
  FWndClass.cbWndExtra := 0;
  FWndClass.hInstance := hInstance;
  FWndClass.hIcon := loadIcon(0, IDI_INFORMATION);
  FWndClass.hCursor := loadCursor(0, IDC_ARROW);
  FWndClass.hbrBackground := hBrush(getStockObject(BLACK_BRUSH));
  FWndClass.lPszMenuName := nil;
  FWndClass.lPszClassName := PWideChar(className);

  if (registerClass(FWndClass) <> 0) then begin
    FHandle := createWindow(
    	PWideChar(className),
      PWideChar(className),
  		WS_OVERLAPPEDWINDOW,
      CW_USEDEFAULT,
      CW_USEDEFAULT,
      CW_USEDEFAULT,
      CW_USEDEFAULT,
      0,
      0,
      hInstance,
      nil
    );

    if (FHandle <> 0) then begin
    	showWindow(FHandle, cmdShow);

      while (getMessage(FMsg, 0, 0, 0)) do begin
      	translateMessage(FMsg);
        dispatchMessage(FMsg);
      end;

      halt(FMsg.wParam);
  	end
    else
    	messageBox(0, 'Не удается создать окно', 'Ошибка', MB_OK);
  end
  else
  	messageBox(0, 'Не удается зарегистрировать класс', 'Ошибка', MB_OK);
end;
...
Рейтинг: 0 / 0
Помогите с окном на winAPI
    #39737872
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
amadeusЧто я не так делаю?
Не смотришь на строчку, на которой выдается ошибка и нам не показываешь.

А может и не тут валится?

ЗЫ. В конструкторе сразу запускается цикл обработки сообщений? Откуда такой пример?
...
Рейтинг: 0 / 0
Помогите с окном на winAPI
    #39737887
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
amadeus,

где проца-то которая должна обрабатывать сообщения окна?
...
Рейтинг: 0 / 0
Помогите с окном на winAPI
    #39737893
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
amadeusЧто я не так делаю?

Практически всё, но ошибка вызвана не этим.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с окном на winAPI
    #39737972
amadeus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan) , в этом и была проблема. Спасибо.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Помогите с окном на winAPI
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]