Entwickler-Ecke
Sonstiges (Delphi) - TMsgDlgtype und TCaption?!
Mindforce - Sa 21.10.06 13:44
Titel: TMsgDlgtype und TCaption?!
Hi,
hab mal wieder Probleme mit meinem CCX compiler :P
Undzwar hat ich alle nötigen Prmtrs in Edits stehen :P
Nur vertragen sich TMsgDlgType und TCaption nicht :?
Delphi-Quelltext
1: 2: 3: 4:
| if MessageDlg(OIForm.button1quell_mass.Text, (OIForm.button1quell_mass_1.text), [(OIForm.button1quell_mass_2.text)],0) = (OIform.button1quell_mass_3.text) then ; |
Wie kann ich das ändern?
hier mal die Compiler Meldungen! Irgendwo steckt auch ein inttostr fehler! ^^
[Fehler] formular1pas.pas(120): E2010 Inkompatible Typen: 'TMsgDlgType' und 'TCaption'
[Fehler] formular1pas.pas(121): E2001 Ordinaltyp erforderlich
[Fehler] formular1pas.pas(121): E2010 Inkompatible Typen: 'string' und 'Integer'
[Fataler Fehler] compilerpas.pas(78): F2063 Verwendete Unit 'formular1pas.pas' kann nicht compiliert werden
THX für Hilfe!
M!ndforce
Mindforce - Do 26.10.06 14:02
*PUSH* ^^
alias5000 - Do 26.10.06 15:42
Hallo,
Hast du MessageDlg mit Application.MessageBox verwechselt? Schau doch dazu einfach mal in der Delphi Hilfe nach, die nennt dir da dann auch immer die geforderten Parameter, wenn solche Fehler auftreten.
Gruß alias5000
Lannes - Fr 27.10.06 12:42
Hallo,
Was ist der CCX compiler?
Du versuchst einen MessageDlg anzuzeigen, die Parameter übergibst Du als String und der Vergleichs-Ausdruck der If-Anweisung ist auch ein String.
Daher die Fehlermeldungen.
Mindforce hat folgendes geschrieben: |
| Wie kann ich das ändern? |
Am besten Du schreibst Dir einige Funktion, dessen Rückgabewert vom entsprechenden Typ ist,
also:
Delphi-Quelltext
1: 2: 3: 4:
| function MessageDlg(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: integer): Word; |
OIForm.button1quell_mass.Text >> const Msg: string = ok
(OIForm.button1quell_mass_1.text) >> DlgType: TMsgDlgType = Fehler
>> Inkompatible Typen: 'TMsgDlgType' und 'TCaption'
>> String in TMsgDlgType umwandeln, z.B.:
Delphi-Quelltext
1: 2: 3: 4: 5:
| function StrToMsgDlgType(s: String): TMsgDlgType; begin if s = 'mtWarning' then Result := mtWarning else if s = 'mtError' then Result := mtError |
[(OIForm.button1quell_mass_2.text)] >> Buttons: TMsgDlgButtons = Fehler
>> Ordinaltyp erforderlich
>> TMsgDlgButtons ist ein set(Menge), die Werte sind Ordinaltypen
>> String(s) in set umwandeln, z.B.:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| function StrToMsgDlgButtons(aCLB: TCheckListBox): TMsgDlgButtons; begin Result := []; if Pos('mbYes',s) > 0 then Result := Result + [mbYes]; if Pos('mbNo',s) > 0 then Result := Result + [mbNo]; |
(OIform.button1quell_mass_3.text) mit Word; vergleichen = Fehler
>> Inkompatible Typen: 'string' und 'Integer'
mrNone, mrOk... sind definierte Integer-Konstanten
>> String in entsprechende Konstanten umwandeln, z.B.:
Delphi-Quelltext
1: 2: 3: 4: 5:
| function StrToMessageDlgResult(s: String): Word; begin if s = 'mrNone' then Result := mrNone else if s = 'mrOk' then Result := mrOk |
Der Aufruf würde dann in etwa so aussehen:
Delphi-Quelltext
1: 2: 3: 4: 5:
| if MessageDlg('Es funktioniert', StrToMsgDlgType('mtWarning'), StrToMsgDlgButtons('mbYes mbNo'),0) = StrToMessageDlgResult('mrYes') then ; |
Mindforce - Fr 03.11.06 19:27
Bohaaa.
Darauf bin ich nicht gekommen, alles extern zu deklarieren...
THX! Ich werds ausprobieren, wenn ich daran weiter arbeite :P
M!ndforce
Lannes - Fr 03.11.06 19:33
Hallo,
bitte :) , und was is nu der CCX compiler?
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!