AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit showModal

Ein Thema von ksh · begonnen am 24. Mär 2006 · letzter Beitrag vom 24. Mär 2006
Antwort Antwort
Seite 1 von 3  1 23      
ksh
(Gast)

n/a Beiträge
 
#1

Probleme mit showModal

  Alt 24. Mär 2006, 17:45
Hallo!

nachdem ich jetzt allmählich am verzweifeln bin... habe eine Delphi-Projekt als Vorlage bekomme, was ich jetzt dementsprechend den neuen Anforderungen verändere.

Habe meine Mainunit mit meinem MainWindow (im Projekt Project)- inkl. Menü etc. Wenn ich jetzt auf den Menüpunkt Neu gehe, soll mein Dialogfenster erscheinen - aus der Unit Dialog mit Fenster names Eingabe.
Habe folgenden Quellcode übernommen:
Delphi-Quellcode:
procedure TMainWindow.NeuClick(Sender: TObject);
begin
  // ...
  if Eingabe.ShowModal = mrOK then
  begin
    RechnePersDaten(AngDaten.EinDaten,AngDaten.PersDaten);
    RechneRentDaten(AngDaten.EinDaten,AngDaten.PersDaten,AngDaten.RentDaten);
    ShowTab;
    SpeichernUnter.Enabled:=True;
    Speichern.Enabled:=False;
    Bearbeiten.Enabled:=True;
    Drucken.Enabled:=True;
  end;
end;
Leider kommt immer, sobald ich den Menüpunkt ausführen will: Access violation at address 00471686 in module' Project.exe'. Read of address 00000000.
Danach immer ein Verweis auf diese Zeile.

Heißt das jetzt, dass ein Verweis in dem Project fehlt oder wie?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Probleme mit showModal

  Alt 24. Mär 2006, 17:48
Wurde Eingabe instantiiert? ( Eingabe = TEingabe.Create oder createForm )
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#3

Re: Probleme mit showModal

  Alt 24. Mär 2006, 17:50
Hallo,

hast du die Unit Dialog unter uses (ganz oben) aufgelistet?

Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Probleme mit showModal

  Alt 24. Mär 2006, 17:51
Modale Formulare sollte man im Programmcode erzeugen, benützen und gleich wieder zerstören,
denn man ist ja fertig mit dem Formular.
Hier das immer gleiche Grundgerüst:
Delphi-Quellcode:
var
   frm : TEingabeForm;
begin
   frm := TEingabeForm.Create(Self);
   try
      if frm.ShowModal = mrOK then
      begin
         //mach was damit
      end;
   finally
      frm.Free;
   end;
end;
Andreas
  Mit Zitat antworten Zitat
ksh
(Gast)

n/a Beiträge
 
#5

Re: Probleme mit showModal

  Alt 24. Mär 2006, 18:06
also, der Dialog wird instantiiert mit FormCreate und ist natürlich auch in der main bei den uses mit drin!

bei TEingabe.Create(Self) (entsprechend angepasst) meckert er rum, dass es nur für Klassenmethoden erlaubt ist...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Probleme mit showModal

  Alt 24. Mär 2006, 18:08
Poste mal die Klassendefinition.
Markus Kinzler
  Mit Zitat antworten Zitat
ksh
(Gast)

n/a Beiträge
 
#7

Re: Probleme mit showModal

  Alt 24. Mär 2006, 18:11
sorry, steh grad völlig auf dem schlauch! welche denn?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Probleme mit showModal

  Alt 24. Mär 2006, 18:14
TEingabe.
Markus Kinzler
  Mit Zitat antworten Zitat
ksh
(Gast)

n/a Beiträge
 
#9

Re: Probleme mit showModal

  Alt 24. Mär 2006, 18:17
Meinst du das??

Delphi-Quellcode:
unit Dialog;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, ObjEin, HiType, HiFunc,
  Buttons;

type
  TEingabe = class(TForm)
    TabelleEinlesen: TButton;
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    OpenDialog1: TOpenDialog;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Bilanztermin: TEdit;
    Rechnungszins: TComboBox;
    PA_Maenner: TComboBox;
    PA_Frauen: TComboBox;
    Rentendynamik: TComboBox;
    ARKZ: TComboBox;
    IRKZ: TComboBox;
    WRKZ: TComboBox;
    RZahlunsweise: TComboBox;
    WRArtKz: TComboBox;
    Beenden: TButton;
    OK: TBitBtn;
    Abbruch: TBitBtn;


    {****************** Beenden bzw. Abbrechen **********************}
    procedure AbbruchClick(Sender: TObject);
    {***************** Einlesen der Eingangstabelle *****************}
    procedure TabelleEinlesenClick(Sender: TObject);
    {********************* Zuweisen der Daten ***********************}
    procedure OKClick(Sender: TObject);
    
    procedure FormCreate(Sender: TObject);


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

var
  Eingabe : TEingabe;
  OKCLicked : boolean;

implementation

{$R *.dfm}

uses Main;
.....

procedure TEingabe.FormCreate(Sender: TObject);

var JJ,MM,TT : word;

function datumtostr(d : datum) : string;

var s : string;
   {t,m,j : integer;}

begin
  s:=inttostr(d.TT)+'.'+inttostr(d.MM)+'.'+inttostr(d.JJ);
  datumtostr:=s;
end;

begin
  {Standard-Werte setzten}
  ARKz.ItemIndex := 2;
  IRKz.ItemIndex := 1;
  WRKz.ItemIndex := 0;
  Rentendynamik.ItemIndex := 0;
  WRArtKz.ItemIndex := 0;
  DecodeDate(Date,JJ,MM,TT);
  Bilanztermin.Text := '31.12.'+inttostr(JJ);
  PA_Maenner.ItemIndex := 5;
  PA_Frauen.ItemIndex := 3;

  with angdaten.eindaten do
    begin
      Eingabe.Bilanztermin.Text := datumtostr(EinBil);
      Eingabe.Rechnungszins.Text := floattostr(EinRechZins);
      Eingabe.ARKz.ItemIndex := EinARKz;
      Eingabe.IRKz.ItemIndex := EinIRKz;
      Eingabe.WRKz.ItemIndex := EinWRKz;
      Eingabe.Rentendynamik.Text := floattostr(EinDynRenWert);
      Eingabe.WRArtKz.ItemIndex := EinWRArtKz;
      Eingabe.PA_Maenner.ItemIndex := EinPensAlter;
      Eingabe.PA_Frauen.ItemIndex := EinPensAlter;
    end;
end;

end.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Probleme mit showModal

  Alt 24. Mär 2006, 18:24
In welcher Unit ist angdaten deklariert?
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 08:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz