![]() |
Auf Variable im Record zugreifen
Folgendes Konstruk
Delphi-Quellcode:
Mit TTest.test; kann ich die Prozedur test aufrufen. Ist es auch irgendwie möglich ohne weitere Variable ala an aTest: TTest; xyz zu kommen?
unit Test;
interface uses ... ; // ------------------------------------------ type TTest = record private // public xyz: Integer; class procedure test; static; end; // ------------------------------------------ implementation class procedure TTest.test; begin end; end. |
AW: Auf Variable im Record zugreifen
Wenn du daraus eine class var machst, geht das. Aber ich weiß nicht, ob bei einem Record, damit arbeite ich kaum. Wenn du eine Klasse nimmst, geht es jedenfalls damit.
|
AW: Auf Variable im Record zugreifen
Nur wenn du daraus eine
Delphi-Quellcode:
machst oder eben eine normale und keine Klassenfunktion. Dann musst du allerdings eine Instanz erstellen.
class var
|
AW: Auf Variable im Record zugreifen
Funktioniert, perfekt danke!
Darauf muss man erstmal kommen. Das obige Konstrukt hatte ich früher auch mal als class statt record. Aber der ganze Kram der in der AutoCompletion angezeigt wird (UnitScope etc) hat mich genervt, weswegen ich zu record wechselte. |
AW: Auf Variable im Record zugreifen
Das ist jetzt aber eine recht seltsame Begründung ein Record zu verwenden, statt einer Klasse.
|
AW: Auf Variable im Record zugreifen
Gut, ein guter Grund ist das nicht, aber versuch mal
Delphi-Quellcode:
oder andere Klassen und ägere dich über die Vorschläge, der Private/Protected-Dinger. (in älteren Delphis)
TEncoding.
Hat auch Jahre gebraucht, das auszubauen/reparieren. PS: eine Variable "Test", statt der Klasse, wäre auch eine Lösung gewesen. :stupid: |
AW: Auf Variable im Record zugreifen
Zitat:
|
AW: Auf Variable im Record zugreifen
Delphi-Quellcode:
:stupid:
var
Test: record private // public xyz: Integer; procedure test; end; |
AW: Auf Variable im Record zugreifen
Ist das denn überhaupt noch Ok das so zu schreiben?
|
AW: Auf Variable im Record zugreifen
Ok, die Schreibweise kannte ich noch gar nicht. Man lernt nie aus...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:26 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