Einzelnen Beitrag anzeigen

OsCor

Registriert seit: 1. Jan 2009
Ort: Kenzingen, Südbaden
99 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: ButtonClick Procedure aufrufen

  Alt 26. Feb 2013, 14:04
Hallo,

ich erlaube mir, diesen Faden aus der Versenkung zu holen, weil ich eine fast identische Problemstellung habe, die durch die Hilfeposts nicht behoben werden konnte.

Teilaufgabe:
Druck auf Button „Abbrechen” setzt einfach alle Eingabe-Elemente zurück (Ereignis btnAbbrechenClick). Um beim Neueingeben eines Datensatzes diesen Reset ebenfalls durchzuführen, rufe ich ihn in der gezeigten Weise auf - die Versionen mit Nil oder ohne Klammer (wie im vorhergehenden Beitrag) werden vom Compiler moniert.

Der vorgestellte Code funktioniert zwar, aber: Nach dem Schließen des Programmes wird mir per Messagefenster angezeigt, dass ein Fehler vorliege und zwar eine fehlerhafte Zeigeroperation.
Ich dachte, ich hätte das Problem auf einfache Weise gelöst Was mache ich denn falsch?

Delphi-Quellcode:
    procedure btnAbbrechenClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure TabSheet2Show(Sender: TObject);
    procedure btnNeuClick(Sender: TObject);
    procedure btnSaveClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Warentext : String;

const
     Bildpfad = …
     EN = '0'; ZN = '00'; DN = '000';

implementation

{$R *.dfm}

procedure TForm1.btnAbbrechenClick(Sender: TObject);
begin
    edtPfad.Clear;
    cbTyp.ItemIndex := 0;
    edtPreis.Clear;
    edtBezAlt.Clear;
    cbMetallFarbe.ItemIndex := 0;
    edtSteinFarben.Clear;
    edtPerlenFarbe.Clear;
    edtHoehe.Clear;
    edtLieferant.Clear;
    chAktiv.Checked := True;
    memBem.Clear;
    Image1.Picture.Destroy;
    Image2.Picture.Destroy;
    Image3.Picture.Destroy;
end;

procedure TForm1.btnNeuClick(Sender: TObject);
var
   ArtAnz : Integer;
   ArtBez : String;
begin
    btnAbbrechenClick(Sender); <-------- Hier steckt der Wurm drin!
   .
   .…
Für Hinweise dankbar:
Oswald
  Mit Zitat antworten Zitat