Einzelnen Beitrag anzeigen

josef-b

Registriert seit: 6. Jun 2004
Ort: bei Jena in Thüringen
95 Beiträge
 
Delphi 11 Alexandria
 
#1

Noch mal zu neuen Komponenten - Neue Events - Methoden

  Alt 29. Aug 2017, 16:00
Ich kämpfe mich weiter voran..

Ich möchte in meiner neuen Komponente eine procedure "Starten einfügen" dazu sollen einige
bool-Variablen übernommen werden.

Ich habe es mir mal so gedacht (bzw. abgeschrieben ),

Delphi-Quellcode:
unit Elevator;

interface

uses
  System.SysUtils, System.Classes, Vcl.Controls;


type
  TElevatorStart = procedure (var starten,motorschutz,stern_ein,
          dreieck_ein,motor_ein,schief_oben,schief_unten,drehzahl: boolean) of object;

  TElevator = class(TGraphicControl)
  private
    { Private-Deklarationen }

    //Eingänge nur lesen

    FAdr_Motorschutz: Integer;
.......
.......
 
   
    //Ausgänge lesen und schreiben
    FStart:Boolean;
........
........
    FDoStart :TElevatorStart;

  protected
    { Protected-Deklarationen }

    procedure Paint; override;


  public
    { Public-Deklarationen }

    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;


  published
    { Published-Deklarationen }
    //hiermit wird das im Obkektinspektor angezeigt

  
    property Meldung_Motorschutz: boolean read FMeldung_Motorschutz write FMeldung_Motorschutz;
    property Meldung_Motor_Ein : boolean read FMeldung_Motor_Ein write FMeldung_Motor_Ein;
    property Meldung_Stern_Ein : boolean read FMeldung_Stern_Ein write FMeldung_Stern_Ein;
    property Meldung_Dreieck_Ein : boolean read FMeldung_Dreieck_Ein write FMeldung_Dreieck_Ein;
    property Meldung_Schief_o : boolean read FMeldung_Schief_o write FMeldung_Schief_o;
    property Meldung_Schief_u : boolean read FMeldung_Schief_u write FMeldung_Schief_u;
    property Meldung_Drehzahl : boolean read FMeldung_Drehzahl write FMeldung_Drehzahl;

    //Methoden
    property dostart : TElevatorStart read FDOStart write FDOStart;

  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('SPS', [TElevator]);
end;

constructor TElevator.Create(AOwner: TComponent);
begin
  inherited;
  FStart := true;

end;

destructor TElevator.Destroy;
begin
  // Hier deine Freigaben
  inherited;
end;

procedure TElevator.Paint;
begin
  inherited;
end;

procedure TElevator.dostart(var starten,motorschutz,stern_ein,
          dreieck_ein,motor_ein,schief_oben,schief_unten,drehzahl: boolean);
begin
  FStart := starten;
  FMeldung_Motorschutz := motorschutz;
  FMeldung_Motor_Ein := motor_ein;
  FMeldung_Stern_Ein := stern_ein;
  FMeldung_Dreieck_Ein := dreieck_ein;
  FMeldung_Schief_o:= schief_oben;
  FMeldung_Schief_u:= schief_unten;
  FMeldung_Drehzahl:= drehzahl;
end;
ganz unten bei Starten kommt : "Starten unterscheidet sich von vorheriger Deklaration" und
er meldet meine ganzen Variablen F.... als undeklariert
  Mit Zitat antworten Zitat