помогите разобраться по чему не работает такая констр

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

помогите разобраться по чему не работает такая констр

Сообщение yser » 24.02.2008 14:18:04

день добрый.

решил попробовать потихонечку перевести одни из проектов с дельфи на фпс с использованием лазаруса.
перевел внутренности теперь они компилируются и на дельфи и на фпс и вроде как работают :) теперь взялся за интерфейсную часть и столкнулся с небольшой проблемкой - не работает вот такой код:

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

{$mode objfpc}{$H+}

interface

uses
  Windows,
  Classes, SysUtils, LResources, Forms, Controls, Graphics, StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    procedure UserMessages(var AMsg: TMessage); message WM_USER;
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
  PostMessage(Handle, WM_USER, 0, 0);
end;

procedure TForm1.UserMessages(var AMsg: TMessage);
begin
  Caption := 'hello';
end;

initialization
  {$I unit1.lrs}

end.


т.е. при нажатии на кнопку посылается сообщение окну которое в свою очередь меняет текст в шапке окна ....

подскажите почему этот код не работает в лазарусе?

использую вот эту версию лазаруса: Lazarus-0.9.24-fpc-2.2.0-20071114-win32.exe
yser
новенький
 
Сообщения: 29
Зарегистрирован: 06.02.2008 11:27:40

Сообщение NXP » 24.02.2008 20:22:38

Странно, у меня тоже не работает.
Попробуй из LCL lmessages.pp
Код: Выделить всё
  LM_USER           = $400; // MWE: changed from $100 to $400 since they were in the windows range
  WM_USER           = LM_USER;

С кросс-платформенностью проблем не будет :D
Аватара пользователя
NXP
постоялец
 
Сообщения: 187
Зарегистрирован: 02.01.2008 16:11:56
Откуда: Воронеж

Сообщение GrayEddy » 24.02.2008 20:49:37

> yser
У меня работает.
Видимо, чего-то сломали раньше.
Lazarus-0.9.25 от 24.02.2008
GrayEddy
постоялец
 
Сообщения: 375
Зарегистрирован: 06.05.2005 09:37:56

Сообщение Brainenjii » 24.02.2008 20:54:25

как я понял из New 0.9.26 features. Part 1. SendMessage and PostMessage, это дело пока ограничено в Lazarus'e... Хотя может понял неправильно ^_^
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Сообщение Padre_Mortius » 24.02.2008 23:56:43

2 GrayEddy
Проверьте пожалуйста версию Lazarus и fpc. На срезе svn от 24.02.2008 данный код не отрабатывает.

Рабочий пример можно посмотреть в примерах Lazarus\examples\messages\unit1.pas

2 Brainenjii
Спасибо за ссылку
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение GrayEddy » 25.02.2008 01:42:11

fpc 2.2.1 от 26.01.2008
svn lazarus: 13383 от 24.02.2008
Все работает.
GrayEddy
постоялец
 
Сообщения: 375
Зарегистрирован: 06.05.2005 09:37:56

Сообщение yser » 25.02.2008 11:22:39

Brainenjii писал(а):как я понял из New 0.9.26 features. Part 1. SendMessage and PostMessage, это дело пока ограничено в Lazarus'e... Хотя может понял неправильно ^_^


спасибо, похоже именно в этом причина ...
yser
новенький
 
Сообщения: 29
Зарегистрирован: 06.02.2008 11:27:40


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 51

Рейтинг@Mail.ru
cron