Entwickler-Ecke

Sonstiges (Delphi) - application.MessageBox auch mit Variablen?


Bomania - Fr 21.02.03 09:09
Titel: application.MessageBox auch mit Variablen?
Hallo,

ich möchte eine application.MessageBox ausgeben, deren Titel und Text in zwei Variablen stehen. Das haut aber leider nicht so hin, weil die application.MessageBox nur PChar akzeptiert:


Quelltext
1:
2:
3:
4:
5:
6:
7:
var
  Titel : String;
  Nachricht : String;
begin
  Titel := txt_Titel.text;
  Nachricht := txt_Nachricht.text;
  application.MessageBox(Nachricht,Titel,32);


Die Delphi-Hilfe spuckt bei "PChar" die Themen "Zeiger auf Zeichen" und "Nullterminierte Strings" aus. Leider sagt mir das als Delphi-Anfänger so gut wie gar nichts. Wie muss ich hier vorgehen?

Danke


smiegel - Fr 21.02.03 09:23

Hallo,

so müsste es eigentlich gehen:


Quelltext
1:
Application.MessageBox(PChar(Nachricht), PChar(Titel) ,32);                    


Gewöhne Dir ausserdem ab, den Parameter bzgl. des Ausshehens als Zahl anzugeben. Weisst Du noch in einem halben Jahr, was 32 bedeutet?

Nimm statt dessen die vordefiniert Konstanten.

MB_YESNO für Ja- und Nein-Button
MB_OKCANCEL für Ok- und Abbrechen-Button

Näheres dazu in der Win-API-Hilfe (MessageBox).


AXMD - Fr 21.02.03 09:25

Hi,

du musst eine PChar-Variable übergeben. Das kannst du in deinem Beispiel unschönerweise auch so machen:


Quelltext
1:
Application.MessageBox(PChar(Nachricht), PChar(Titel) ,32);                    


AXMD


Bomania - Fr 21.02.03 09:35

Vielen Dank für die schnellen Antworten :D