Einzelnen Beitrag anzeigen

Bambi

Registriert seit: 16. Okt 2009
26 Beiträge
 
Delphi XE5 Professional
 
#1

Funktions-Parameter record: Call-by-value??

  Alt 15. Jun 2015, 12:02
Delphi-Version: 5
Hallo,
ich hab eine Klasse erstellt, die einen externen Event (Deklaration: "procedure OnEvent(Sender:TObject; Data: TMyDataRecord)") aufruft, um Daten an mein Hauptptogramm zu übergeben (Datenquelle ist ein UDP-Client, das Ereignis kommt also irgendwann...).
Meine Frage: die Daten werden ja in einem Record übergeben. Geschieht das per Call-On-Value (also wird der Record kopiert) oder per Call-On-Reference (nur die Referenz auf den Record wird übergeben).
Das Problem ist, dass ich im private-Bereich der Klasse ein Feld "FData: TMyDataRecord" deklariert hab, das die Daten sammelt und sobald alles vollständig ist das Event aufruft: "OnEvent(self, FData)". Call-On-Value wäre also angebracht.
BTW: Kann ich Call-On-Value nicht mit "const" vor dem Parameter erzwingen?

Danke und Gruß

Stephan
Stephan
  Mit Zitat antworten Zitat