Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Проблема с MessageBox


Автор: mr.Anderson 4.9.2005, 18:25
Я создал новый проект, положил на форму кнопку, в ее событии OnClick написал:
Код

procedure TForm1.Button1Click(Sender: TObject);
VAR S: String;
begin
 S:=InputBox('Фунты-килограммы','Введите значение в фунтах:','0');
 MessageBox(NULL,S,'Сообщалка',MB_ICONINFORMATION);
end;

Однако, компилер ругается на строчку с MessageBox. Говорит, "о несовместимости типов String и NULL). Это что еще за фигня?!

Автор: Quadr0 4.9.2005, 18:32
...

Автор: FRAGNATIC 4.9.2005, 18:33
Код

procedure TForm1.Button1Click(Sender: TObject);
VAR S: String;
begin
 S:=InputBox('Ôóíòû-êèëîãðàììû','Ââåäèòå çíà÷åíèå â ôóíòàõ:','0');
 MessageBox(handle,Pchar(S),'Ñîîáùàëêà',MB_ICONINFORMATION);
end;

а почему тя так не устраивает?
или хотябы
Код

procedure TForm1.Button1Click(Sender: TObject);
VAR S: String;
begin
 S:=InputBox('Ôóíòû-êèëîãðàììû','Ââåäèòå çíà÷åíèå â ôóíòàõ:','0');
 MessageBox(0,Pchar(S),'Ñîîáùàëêà',MB_ICONINFORMATION);
end;

Добавлено @ 18:35
Цитата
В Delphi вместо null предусмотрен nil.

это имхо разные вещи
Цитата
если в качестве Хендла указать 0

кокрас таки получится тк именно 0 это идёт рабочий стол если я не ошибаюсь)

Автор: mr.Anderson 4.9.2005, 18:54
FRAGNATIC, спасибо, сейчас буду пробовать. А что, вместо 0 в первом аргументе нельзя указать NULL? Просто как-то привычно...

Автор: Quadr0 4.9.2005, 19:24
...

Автор: FRAGNATIC 4.9.2005, 20:49
Цитата
Получится, но сообщение не будет модальным. Какой толк от не модального сообщения? Только если это сообщение информативное. А если это запрос на действие

ну вот я и спрашивал почемубы ему не имспользовать handle формы)

Автор: mr.Anderson 5.9.2005, 17:50
В общем, таперича я в первом аргументе пишу HANDLE. Всем спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)