AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi [erledigt] Formalparameter für TForm.create
Thema durchsuchen
Ansicht
Themen-Optionen

[erledigt] Formalparameter für TForm.create

Ein Thema von Ruachel · begonnen am 27. Feb 2009 · letzter Beitrag vom 27. Feb 2009
 
Ruachel

Registriert seit: 27. Feb 2009
4 Beiträge
 
Delphi 7 Professional
 
#1

[erledigt] Formalparameter für TForm.create

  Alt 27. Feb 2009, 16:10
Hallo zusammen,

Ich bin neu hier und beschäftige mich seit ca 2 Monaten wieder intensiver mit Delphi.

Vor ca 2 Jahren hab ich schon mal ein wenig was damit gemacht (serielle Schnittstelle),
bin aber keineswegs ein Profi, meine Hauptbetätigung liegt in der SPS-Programmierung.

Aber zu meinem aktuellen Problem:

Ich möchte gerne aus meiner Hauptform(frmMain) ein weiteres Formular(frmDetail) aufrufen, dabei aber Parameter übergeben.

Dazu habe ich folgendes gemacht(in vereinfachter Form):


In der aufrufenden unit:

Delphi-Quellcode:

//unit frmMain
.
.
.


procedure TNavigation.LookOutButton22Click(Sender: TObject);
var
KomponenteEdit:TKomponente_Detail; //die unit frmDetail
begin

KomponenteEdit:=TKomponente_Detail.Create(self,'neu','');

//also eine leere Maske (self,'edit','4') wäre zum Editieren eines Datensatzes

KomponenteEdit.Visible:=false;
KomponenteEdit.ShowModal;


end;
In der aufgerufenen unit:

Delphi-Quellcode:

type
     TKomponente_Detail = class(TForm)
        Edit1:TEdit;
        ButtonSpeichern:TButton
        procedure ButtonSpeichernClick(Sender: TObject);
        procedure InsertKomp;
     public

        constructor create(aOwner : tComponent;mode:string;UID:string); virtual;
    end;

var
Komponente_Detail:TKomponente_Detail;

   implementation

...
    constructor TKomponente_Detail.create(AOwner:TComponent,mode:string;UID:string);
    begin
       inherited create(AOwner);
       
    end;


...

...

   procedure TKomponente_Detail.ButtonSpeichernClick(Sender: TObject);
   begin
   showmessage(Komponente_Detail.Edit1.Text); //<----- hier knallts

   end;

Die Programmierhilfe springt darauf an, der Compiler meckert auch nicht, aber
zur Laufzeit krieg ich eine Access violation, wenn ich auf Buttonspeichern klicke..


Nun der Hintergrund ist, dass ich an einer kleinen Datenbankanwendung (Absolute Database) schreibe und in mein Hauptfenster wie eine Webseite aufgebaut habe.

Also links die Navigation, rechts der Inhalt.

Bei oben angeführtem Konstrukt geht es darum, eine Eingabemaske (modal) für einen Datensatz aufzurufen.
Je nach gedrücktem Button soll entweder eine leere Maske angezeigt werden, oder eine mit bereits gefüllten Werten aus der Datenbank (zum editieren).

Ich habe das mittlerweile mit 2 Globalen Variablen gelöst, finde das aber nicht sehr schön und vermute, dass das Mißlingen auf diesem Weg an meinen mangelnden OOP_Kenntnissen liegt.

Deswegen: Kann mir da wer auf die Sprünge helfen ?

Wäre für Hinweise sehr dankbar.

greetz


Ruachel

PS: Übrigens ich verwendet D7 pro.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:19 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 by Thomas Breitkreuz