Entwickler-Ecke
Sonstiges (Delphi) - MsgBox-Generator
professorbass - Do 19.08.10 13:41
Titel: MsgBox-Generator
Hallo
Kann mir einer sagen was ich da falsch mache?
es kommt immer der Fehler Inkompatible typen TMsgDlgBtn Und Integer.
Aber wie sollte es sonst gehen mir fällt keine andere Möglichkeit ein...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| procedure TForm1.Button1Click(Sender: TObject); var MsgType: TMsgDlgType; MsgBtn: TMsgDlgBtn; begin
if RadioButton1.Checked = True Then MsgBtn := MB_OK else if RadioButton2.Checked = True Then MsgBtn := MB_ABORTRETRYIGNORE else if RadioButton3.Checked = True Then MsgBtn := MB_OKCANCEL else if RadioButton4.Checked = True Then MsgBtn := MB_RETRYCANCEL else if RadioButton5.Checked = True Then MsgBtn := MB_YESNO else if RadioButton6.Checked = True Then MsgBtn := MB_YESNOCANCEL;
MessageBox(0, Edit2.Text, Edit1.Text, MsgBtn + MsgType); end; |
elundril - Do 19.08.10 13:46
Probier es mal mit nem OR statt dem +. Weiters würde ich dir empfehlen auch den Rückgabewert von der MessageBox abzufragen. ;)
lg elundril
professorbass - Do 19.08.10 14:42
Ja ok gut Danke habe ich jetzt alles.
Aber selbes Problem bleibt
Inkompatible typen TMsgDlgBtn Und Integer.
Marc. - Do 19.08.10 14:47
professorbass hat folgendes geschrieben : |
Ja ok gut Danke habe ich jetzt alles.
Aber selbes Problem bleibt
Inkompatible typen TMsgDlgBtn Und Integer. |
Ich kann mich nicht erinnern, dass bei den Konstanten ein Underscore [_] vorkam. Hast Du da noch etwas selbst definiert? Ansonsten lass diese einfach weg. :nixweiss:
Konkret,
mbOK statt MB_OK etc.
professorbass - Do 19.08.10 14:54
Einzelne Buttons gehen nur Kombinationen gehen nicht das mit dem + das habe ich ersetzt trotzdem hat es mir nix gebracht!
elundril - Do 19.08.10 15:02
Probier mal die Variablen als Cardinal zu deklarieren und nicht als TMsgDlgBtn und TMsgDlgType.
lg elundril
Delete - Do 19.08.10 16:54
MsgBtn ist vom Typ TMsgDlgBtn. Und ist in der VCÖ deklariert. MB_OK ist eine Integerkonstante der WinAPI.
Jakob_Ullmann - Do 19.08.10 17:29
elundril hat folgendes geschrieben : |
| Und da steht auch das was ich in der ersten Antwort erwähnt habe, das man das + durch ein OR ersetzen soll. Aber auf mich hört ja keiner. :mrgreen: |
Sollte eigentlich das gleiche sein, nicht?
Quelltext
1: 2: 3:
| 00000001 + 00000010 = 00000011 |
Bei OR kommt dasselbe heraus. Auch bei negativen Zahlen. Und die Konstanten enthalten ja jeweils nur eine Eins, denn sonst wird es sinnlos.
Xion - Do 19.08.10 17:45
Jakob_Ullmann hat folgendes geschrieben : |
| Bei OR kommt dasselbe heraus. Auch bei negativen Zahlen. Und die Konstanten enthalten ja jeweils nur eine Eins, denn sonst wird es sinnlos. |
Andererseits haben die Icons andere Nummern, also müsste es doch egal sein ob + oder OR
professorbass - Do 19.08.10 17:55
jap. es funktioniert jetzt mit + oder or ist egal was man nimmt
vielen Dank ihr habt mit bissel weitergeholfen jetzt muss ich selber wieder gucken
wie ich weiter komm THX
Delete - Do 19.08.10 18:21
So lange immer nur ein Bit gesetzt ist, ist es egal. Aber wer garantiert das? Oder guckt ihr immer nach? Besser und auch sicherer ist es auf alle Fälle es ein bitweise OR-verknüfung auch mit dem OR-Operator zu verknüpfen und nicht das Plus-Zeichen zu verwenden.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!