AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MessageDlg

Ein Thema von Nastarowje · begonnen am 17. Feb 2008 · letzter Beitrag vom 18. Feb 2008
Antwort Antwort
Seite 1 von 2  1 2      
Nastarowje

Registriert seit: 4. Feb 2008
Ort: Erfurt
12 Beiträge
 
#1

MessageDlg

  Alt 17. Feb 2008, 20:12
Hallo,

irgendwie komme ich nicht weiter. Ich bekomme unter Delphi 7 immer die Fehlermeldung mrYes ist ein undefinierter Bezeichner.

Delphi-Quellcode:

case MessageDlg('Datei existiert noch nicht. Soll Sie angelegt werden?',mtInformation, [mbYes,mbNo], 0) of
      mrYes : Form1.Close;
      mrNo : Form1.Close;
    end;

Die Resultate Form1.close sind nur fiktiv. Der Code fehlt noch.
Wieso bekomme ich die Fehlermeldung?

Ich setze eine eigene Unit ein, in die Unit habe ich Dialogs eingebunden. MessageDlg wird gefunden und laut Hilfe habe ich alles richtig. Auch hier im Forum steht nix anderes.

Was fehlt oder was mache ich falsch? Muss ich mrYes und mrNo irgendwo noch deklarieren?

Vielen Dank im vorraus
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: MessageDlg

  Alt 17. Feb 2008, 20:25
Hi,

ich denke, Unit Dialogs in Uses aufnehmen sollte reichen.

[Edit]Vergiss es, hab nicht richtig gelesen...[/EDIT]

[EDIT2]Unit Controls brauchtst du [/EDIT]


Cu, Frank
Frank Reim
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: MessageDlg

  Alt 17. Feb 2008, 20:28
Hallo,

binde mal die Controls mit ein.
Controls.mrYes
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

Re: MessageDlg

  Alt 17. Feb 2008, 20:47
Das muss andere Ursachen haben. Die Unit Dialogs ist schon richtig. Mache mal das Form1.Close weg. Das könnte unliebsame Nebeneffekte produzieren. // Glaskugel aus
Gruß
Hansa
  Mit Zitat antworten Zitat
Nastarowje

Registriert seit: 4. Feb 2008
Ort: Erfurt
12 Beiträge
 
#5

Re: MessageDlg

  Alt 17. Feb 2008, 21:16
Hallo,

Vielen Dank, die Unit Controls hat gefehlt.

Michael
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

Re: MessageDlg

  Alt 17. Feb 2008, 22:31
Ah ja, mrYes ist in Controls.pas deklariert. Wäre es idYes gewesen, dann hätte man Windows.pas in die Uses schreiben müssen. Sofern es sich nicht um ein reines WinApi-Programm handelt empfiehlt es sich allerdings sowieso, die Uses-Liste von Delphi erstellen zu lassen. Der Fehler wäre dann nicht mal aufgetaucht.
Gruß
Hansa
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#7

Re: MessageDlg

  Alt 17. Feb 2008, 23:38
Zitat von Hansa:
Sofern es sich nicht um ein reines WinApi-Programm handelt empfiehlt es sich allerdings sowieso, die Uses-Liste von Delphi erstellen zu lassen. Der Fehler wäre dann nicht mal aufgetaucht.
Ach ja - und wann sollte Delphi die Uses Liste erweitern in einer formlosen Unit? Wenn er die Komponente MessageDlg() in den Quelltext zieht?
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#8

Re: MessageDlg

  Alt 18. Feb 2008, 02:05
Mann, Mütze. Was steht denn hier ?
Zitat von Nastarowje:
Delphi-Quellcode:
case MessageDlg('Datei existiert noch nicht. Soll Sie angelegt werden?',mtInformation, [mbYes,mbNo], 0) of
      mrYes : Form1.Close;
      mrNo : Form1.Close;
    end;
Da kann man wohl kaum von einem "formlosen" Form ausgehen, oder doch ? Deshalb auch mein Hinweis auf ein minimalistisches "WinApi"-Programm (für Disketten etc.). Sofern das nicht zutrifft und es ist ein "normales" Delphi-Programm, dann ist es wohl egal, ob eine Unit von Hand in die Uses-Liste geschrieben wird oder von Delphi eben automatisch. Ein DoppelKlick auf leere Form (oder geringe Aktivitäten im OI) genügt dazu übrigens, um die Contols.pas (= mrYes) oder die windows.pas (=idYes) ohne sonstige Arbeit in die Uses Liste gleich an die richtige Stelle reinzukriegen.

@Fragesteller : die Frage wäre übrigens auch nicht aufgetaucht, sofern statt mrYes mbYes usw. verwendet worden wäre (so wie die Parameter in deinem MessageDlg auch heißen). Auch diese Konstanten sind in Dialogs.pas enthalten und auch so wäre die Controls.pas auch überflüssig. Durch die Verwendung von mrYes wird zumindest in der betroffenen Unit überflüssigerweise auch die Unit Contols.pas in die EXE mit eingelinkt.

Edit : der Fehler kommt angeblich bei mrYes, an dem mbYes vorher stört Delphi sich wohl nicht. Warum ? Die Dialogs.pas steht in der Uses.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#9

Re: MessageDlg

  Alt 18. Feb 2008, 06:44
Zitat von Hansa:
..... sofern statt mrYes mbYes usw. verwendet worden wäre (so wie die Parameter in deinem MessageDlg auch heißen). ...


Du verwendest also die mbxxx Konstanten (MessageButton) auch für die die Antworten (MessageRresult)??
Das nenne ich mal saubere Programmierung.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: MessageDlg

  Alt 18. Feb 2008, 08:07
Zitat von Hansa:
Mann, Mütze. Was steht denn hier ?
Zitat von Nastarowje:
Delphi-Quellcode:
case MessageDlg('Datei existiert noch nicht. Soll Sie angelegt werden?',mtInformation, [mbYes,mbNo], 0) of
      mrYes : Form1.Close;
      mrNo : Form1.Close;
    end;
Da kann man wohl kaum von einem "formlosen" Form ausgehen, oder doch ?
Zitat von Nastarowje:
Die Resultate Form1.close sind nur fiktiv. Der Code fehlt noch.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz