Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Close funktioniert nicht ?! (https://www.delphipraxis.net/2495-close-funktioniert-nicht.html)

inzzi 26. Jan 2003 13:35


Close funktioniert nicht ?!
 
Delphi-Quellcode:
procedure Twebdesign.set_closeClick(Sender: TObject);
var byAntwort: byte;
begin
// -> schliessen abfrage
byAntwort := Application.MessageBox(
             'Wollen Sie das Programm beenden?','Programm beenden',MB_YESNO or MB_ICONQUESTION);

    if byAntwort = IDYES then
        Close;
end;
das is im mainmenu -> datei -> beenden

warum funktioniert hier der befehl "close" nicht.
Error: Anweisung erforderlich, aber Ausdruck vom Typ 'TMenuItem' gefunden.

Close ist ja eine Anweisung ?![/delphi]

Motzi 26. Jan 2003 13:59

Du hast wahrscheinlich einem MenuItem den Namen Close gegeben... 2 Möglichkeiten:

entweder du benennst das MenuItem um, oder du schreibst
Self.Close(); (bin mir nicht sicher ob das 2te funktioniert, aber umbenennen ist sowieso besser..)

inzzi 26. Jan 2003 15:05

maaaaaaann.. danke *selber.aufn.kopf.hau*
naja bin ja noch anfänger, kann da ja mal vorkommen =)

nomal thx & man liest sich

Christian Seehase 26. Jan 2003 15:16

Moin inzzi,

dazu noch ein kleiner, allgemeiner Tip:

Wenn Du Dir angewöhnst Bezeichner (egal, ob es sich dabei um Variablennamen, Namen von Komponenten, wie MenuItems oder auch Parameter in Funktionsdeklarationen handelt) immer mit einem Präfix zu versehen, der den Typ angibt, sinkt die Wahrscheinlichkeit sich Kollisionen mit anderen Bezeichnungen einzufangen.

MenuItems fangen bei mir z.B. immer mit mi an (Datei öffnen heisst dann miFileOpen), und Strings mit s (sWork = String für verschiedene Aufgaben innerhalb der Funktion).

Daniel B 26. Jan 2003 15:19

Moin Christian,

Zitat:

Zitat von Christian Seehase
MenuItems fangen bei mir z.B. immer mit mi an (Datei öffnen heisst dann miFileOpen), und Strings mit s (sWork = String für verschiedene Aufgaben innerhalb der Funktion).

Das ist zwar ein guter Tip, aber wie siehts den mit Records aus?
recMyRec oder eher nicht?

Grüsse, Daniel :hi:

inzzi 26. Jan 2003 15:25

jo das mach ich normalerweise eh immer.. siehst auch im code byAntwort (byte), aber ich wusste nicht wie ich am besten die MenuItems abkürz also hab ichs mal so gelassen aber dann darauf vergessn...

thx.. echt super delphi portal hier *gratuliere*

Christian Seehase 26. Jan 2003 15:37

Moin Daniel B,

also bei Records nehm' ich ein r (muss ja nicht zu lang werden), bei arrays noch den zusätzlichen Präfix a (z.B. as = Array of String), bei Funktionsparametern zusätzlich A (As = Stringparameter, A = Argument), bei Konstanten zusätzlich _ (_s = Stringkonstante, _as = Konstantes Stringarray, bei ResourceStrings _rs usw...., um nur mal ein paar zu nennen.

Was man nimmt ist natürlich weitestgehend egal, solange man sich selber in seinem Code damit zurechtfindet. Exakte, feste Vorgaben wird man wohl nur haben, wenn man im Team entwickelt, damit es kein Chaos gibt.

Ich finde: Hauptsache kurz und prägnant.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz