Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Eigene Komponente: Zugriffsverl. bei Adr. 000


Peter18 - Mo 15.02.16 13:58
Titel: Eigene Komponente: Zugriffsverl. bei Adr. 000
Ein freundliches Hallo an alle,

es ist mir gelungen eine eigene Komponente abzuleiten und zu installieren. Aber in der Entwicklungsumgebung gibt es Merkwürdigkeiten. Wird das Objekt zur Laufzeit erzeugt gibt es keine Schwierigkeiten.

Mein Objekt ist von "TPanel" abgeleitet ond enthält ein "TProgressBar" und ein "TLabel". Es treten folgend Merkwürdigkeiten auf:

Caption erscheint nicht im Objektinspektor
Caption wird beim Erzeugen anscheinend im Panel eingetragen (Position)
Beim starten tritt eine Zugriffsverletzung bei Adresse 0000 oder andern Adressen auf


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:
type
  T_Progress = class(TPanel)
  private
    { Private-Deklarationen}
    oProgBar : TProgressBar;      // Balkenanzeige
    oLbl     : TLabel      ;      // Beschreibung des Vorgangs

    // 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;


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
Caption:
[delphi]procedure T_Progress.WriteCap( C : String  );
begin
  inherited Caption := '';
  oLbl.Caption      := C ;
end;

Was muß ich ändern oder hinzufügen, damit es auch in der Entwicklungsugebung funktioniert?
Ich vermute da ist was Grunlegendes noch falsch, wenn die ganze Datei benötigt wird, liefere ich sie nach.

Grüße von der Nordsee

Peter


Peter18 - Di 16.02.16 18:26

Ein freundliches Hallo an alle,

ich ziehe diese Frage hiermit zurück! Offenbar spinnt meine Hardware etwas. Da treibem sich Geister rum! Mal geht etwas und dann wieder nicht und umgekehrt! Nachdem niemand einen Fehler gefunden hat, habe ich das Ganze heute nochmals getestet ==> und keine Fehler!!! Muß dem Rechner wohl etwas Urlaub genehmigen.

Grüße von der Nordsee

Peter