AGB  ·  Datenschutz  ·  Impressum  







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

var Parameter in Ereignis

Ein Thema von Pseudemys Nelsoni · begonnen am 10. Feb 2005 · letzter Beitrag vom 11. Feb 2005
Antwort Antwort
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

var Parameter in Ereignis

  Alt 10. Feb 2005, 13:42
Hi,

ich wollte gerade ein eigenes Ereignis schreiben:

TOnLogon = procedure(var HaltDef: Boolean = False); nur sagt delphi da:

Zitat:
[Error] IRCClient.pas(19): Default parameter 'HaltDef' must be by-value or const
Wieso kann ich kein Var parameter mitgeben?

Es gibt doch auch sowas wie:

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: var Parameter in Ereignis

  Alt 10. Feb 2005, 13:51
Ich würde mal sagen, beim OnCloseQuery wird CanClose auf true gesetzt, und dann dafst du es noch verändern, wenn du lustig bist

Machs doch genauso ...
Das "= False" weg, und jedes mal manuell vorher setzen
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#3

Re: var Parameter in Ereignis

  Alt 10. Feb 2005, 13:59
Hi,

dass ein var-Parameter kein default-Parameter sein kann, leuchtet doch irgendwie ein, denn wenn der Parameter default ist, muss er nicht übergeben werden, da er aber var ist, könnte er theor. geändert werden. -> Etwas nicht vorhandenes (übergebenes) zu ändern gestaltet sich schwierig

o.g. Lösung erscheint mir auch als geeignet

Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: var Parameter in Ereignis

  Alt 11. Feb 2005, 02:18
Da kann ich Steve nur zustimmmen, dass sowas nicht geht.
Der Vorteil bei solchen default-Parametern ist ja auch, dass man den Parameter beim Aufruf nicht unbedingt mit angeben muss (aber kann), da ja hierfür der default-Wert verwendet wird.
Also kann man die Prozedur
procedure ParameterOderNicht(param1: Char= 'A'); folgendermaßen aufrufen:
Delphi-Quellcode:
  //mit Parameter:
  ParameterOderNicht('B');
  //ohne Parameter:
  ParameterOderNicht;
Beide Varianten sind zulässig. Das ist u.a. dann von Vorteil, wenn eine Prozedur bis auf wenige Ausnahmen immer mit demselben Parameterwert aufgerufen wird und nur selten mit anderen Werten. Dann braucht man die Parameter nicht jedesmal mit in den Quelltext zu schreiben.
(Praktisch für schreibfaule Programmierer )

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:28 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