Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Fehler bei eigener Komponente


Peter18 - Sa 27.02.16 15:46
Titel: Fehler bei eigener Komponente
Ein freundliches Hallo an alle,

ich habe 2 Komponenten gebaut. Beide unterscheiden sich nur geringfügig. Die eine kann ich in einer Struktur definieren, die andere nicht. Sie wird mit der Meldung "Typ 'T_LoadControl' ist nicht vollständig definiert" angemeckert! Warscheinlich ist es nur eine Kleinigkeit, aber ich sehe sie nicht. Vielleicht hat ja jemand einen Tipp.


Delphi-Quelltext
1:
2:
3:
4:
Type T_LoadCont = record     // Für Fortschrittsanzeige
//  LdCtrl   : T_Progress  ;   //
  LdCtrl   : T_LoadCont  ;   // AnzeigeObjekt: Fortschrittsanzeige
end;

T_LoadCont wird angemeckert, T_Progress jedoch nicht. Vielleicht etwas Grundsätzliches???


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, comctrls, stdctrls;

type
  T_LoadCont = class(TPanel)
  private
    { Private-Deklarationen}
    oPnl     : TPanel      ;   // Panel auf dem die Fortschrittsanzeige sitzt
    oProgBar : TProgressBar;   // Balkenanzeige
    oLbl     : TLabel      ;   // Beschreibung der Aktion

    // Properties
    procedure WriteMin ( M : Integer );
    procedure WriteMax ( M : Integer );
    procedure WritePos ( P : Integer );
    procedure WriteStep( S : Integer );
    procedure WriteCap ( C : String  );

  protected
    { Protected-Deklarationen}

  public
    { Public-Deklarationen}
    constructor Create( Owner: TComponent );                           override;

    // Methoden
    procedure SetLd  ( Min, Max : Integer; Capt : String; Vis : Boolean );
    procedure SetRang( Min, Max : Integer                               );
    procedure SetStep(                     Capt : String                );
    procedure StepIt;

  published
    { Published-Deklarationen }
    property Min      : Integer               Write WriteMin ;
    property Max      : Integer               Write WriteMax ;
    property Position : Integer               Write WritePos ;
    property Step     : Integer               Write WriteStep;
    property Caption  : String                Write WriteCap ;

  end;

procedure Register;

implementation

Ich hoffe jemand kann den Knick in meiner Optik gerade biegen.

Grüße von der sonnigen Nordsee

Peter


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Sa 27.02.2016 um 20:13


Christian S. - Sa 27.02.16 16:08

Der Record-Typ hat den gleichen Namen wie die Komponentenklasse, das dürfte den Compiler ein bisschen ins Schwitzen bringen ;-)


Peter18 - Sa 27.02.16 17:15

Hallo Christian S.,

Dank Dir! Nun ist die Optik wieder gerade. 100 mal guckt man drauf und sieht es nicht, dabei ist es so einfach. Nun ist der Compiler auch wieder ganz cool.

Grüße von der Nordsee

Peter