![]() |
Fehler bei Klassendeklaration
Ich habe folgende Klasse;
Delphi-Quellcode:
jedenfalls gibts in Zeile 15 immer einen Fehler:
interface
uses StdCtrls, JvSimScope, Classes, JvSwitch, Controls, Windows, Messages, JvDialButton, Graphics; type TPatient = record Puls: Byte; end; type TEkg = class(TGroupBox) (...) vPatient: TPatient; (...) public constructor Create(AOwner: TComponent); override; (...) end;
Code:
Was bedeutet das???
[Fehler] Unit2.pas(20): Das Published-Feld 'vPatient' ist weder vom Typ class noch interface
|
Re: Fehler bei Klassendeklaration
Du kannst keine Records publizieren ;) Aber: Da dein Record nur ein Feld hat, publiziere doch das Feld ;)
Optimal wäre natürlich, den Record in eine Klasse unzuwandeln. |
Re: Fehler bei Klassendeklaration
Hallo,
Das bedeutet ganz einfach, dass TPatient weder eine Klasse noch ein Interface ist. Steht doch dort :mrgreen: Im published-Abschnitt dürfen keine Variablen, wie Records, usw. stehen. Was Variablen angeht ist der published-Abschnitt den Komponenten vorbehalten. Eine Variable hat dort auch nichts verloren. Die gehört nach private oder protected. Je nachdem, ob Nachfahren drauf zugreifen können sollen. grüße, daniel |
Re: Fehler bei Klassendeklaration
Ok, danke...
Der record hätte mit nur einer Variable auch wenig Sinn, ich habe ihn nur nicht vervollständigt, nachdem ich sah, dass es nicht funktioniert... |
Re: Fehler bei Klassendeklaration
Nein. Ich meinte, dass Member-Variablen nicht nach public oder published gehören.
Membervariablen gehören geschützt und von außen nur durch Funktionen und Properties verändert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:07 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