Thema: Delphi Ist das ein D4 Bug ?

Einzelnen Beitrag anzeigen

oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Ist das ein D4 Bug ?

  Alt 29. Jul 2003, 13:16
Hi JoelH,

ich glaube, dein Problem steckt im Verständnis was hier abläuft.
Wenn du schreibenderweise auf deine Property Doc_type zugreifst, dann hast du in der Objecterstellung natürlich zwei Möglichkeiten.

Delphi-Quellcode:
private
  p_Doc_Type : String;
protected
  // Das OLE-Objekt, die Desktopinstanz und das Dokument selbst.
  Service, Desktop, Document : Variant;
public
  property Doc_Type:String read p_Doc_Type write p_Doc_Type;
oder
Delphi-Quellcode:
private
  p_Doc_Type : String;
  procedure Setze_Doc_Type(s:string);
protected
  // Das OLE-Objekt, die Desktopinstanz und das Dokument selbst.
  Service, Desktop, Document : Variant;
public
  property Doc_Type:String read p_Doc_Type write Setze_Doc_Type;
Nun machst du bei der Benutzung natürlich das gleiche bei beiden Varianten:

MeinObject.Doc_Type := 'nasowas'; Jetzt passiert im Rahmer der proceduralen Zuweisung nur folgendes. Du kannst in der Procedure Setze_Doc_Type mit dem Parameter s mehr machen als ihn nur dem Property p_Doc_Type zuweisen.

Fälschlich ist die Annahme, dass du die Procedur Setze_Doc_Type über die Objectinstanz aufrufen kannst. Aus diesem Grund steht sie ja auch im private-Teil.

Also, von außen allen gleich und von innen anders.

Übrigens, von Dummyparameter kann keine rede sein, denn wenn du read deklarierst dann geht es um "Schreiben" und dazu gehört auch ein Parameter. Eben was geschrieben werden soll.

Gruß oki
  Mit Zitat antworten Zitat