AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein EAccessViolation beim initialisieren des formblattes

EAccessViolation beim initialisieren des formblattes

Ein Thema von Willi1960 · begonnen am 9. Mär 2011 · letzter Beitrag vom 9. Mär 2011
Antwort Antwort
Seite 1 von 2  1 2   
Willi1960

Registriert seit: 18. Nov 2006
Ort: Goslar
29 Beiträge
 
#1

EAccessViolation beim initialisieren des formblattes

  Alt 9. Mär 2011, 10:28
Hallo,
ich kann nach stundenlanger suche einfach meinen fehler nicht finden.
ich möchte lediglich das beim Start des programmes und wenn form2 aufgerufen ist meine Datei erscheint. Ich bekomme aber leider nur EAccess fehlermeldung



der weg den das programm abläuft ist kurz

Was mache ich falsch?

Geändert von Willi1960 ( 9. Mär 2011 um 11:12 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von rapante
rapante

Registriert seit: 3. Jun 2009
Ort: OPR
171 Beiträge
 
Delphi XE2 Professional
 
#2

AW: EAccessViolation beim initialisieren des formblattes

  Alt 9. Mär 2011, 10:44
Hallo,

zunächst einmal wäre es schön wenn du deinen Quelltext in die Delphi-Codetags einschliessen würdest und dann noch vernünftig einrückst.
So kann man das ja niemandem zumuten

Wo erzeugst du denn Form2?
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#3

AW: EAccessViolation beim initialisieren des formblattes

  Alt 9. Mär 2011, 10:48
Da wäre doch die Empfehlung die Delphi-Tags zu benutzen: Das sit der Helm in der Leiste über dem Text.
Das macht es viel einfacher so ein langes Listing zu lesen.
  Mit Zitat antworten Zitat
Willi1960

Registriert seit: 18. Nov 2006
Ort: Goslar
29 Beiträge
 
#4

AW: EAccessViolation beim initialisieren des formblattes

  Alt 9. Mär 2011, 10:52
sry für die unübersichtlichkeit
hab das unwesentliche mal rausgenommen.
in unit1 hab ich rot unterlegt rufe ich form2 auf
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#5

AW: EAccessViolation beim initialisieren des formblattes

  Alt 9. Mär 2011, 10:56
Ist es denn so schwer, die ein paar Delphi-Tags zu setzen

Code:
[DELPHI]
// hier dein Code
// bitte deinen obigen Beitrag editieren
[/DELPHI]
ergibt:
Delphi-Quellcode:
// hier dein Code
// bitte deinen obigen Beitrag editieren
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Willi1960

Registriert seit: 18. Nov 2006
Ort: Goslar
29 Beiträge
 
#6

AW: EAccessViolation beim initialisieren des formblattes

  Alt 9. Mär 2011, 11:03
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Grids, unit2;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);

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

var
  Form1: TForm1;


implementation



{$R *.DFM}

procedure TForm1.Button2Click(Sender: TObject);
begin
  close;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   form2.show; Hier rufe ich form2 auf
end;


end.
---------------------------------------------------------------------

Delphi-Quellcode:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Grids;

type
  TForm2 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Label1: TLabel;
    Edit2: TEdit;
    Label2: TLabel;
    Edit3: TEdit;
    Label3: TLabel;
    Edit4: TEdit;
    Label4: TLabel;
    Edit5: TEdit;
    Label5: TLabel;
    Edit6: TEdit;
    Label6: TLabel;
    Edit7: TEdit;
    Label7: TLabel;
    Edit8: TEdit;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Edit9: TEdit;
    Label8: TLabel;
    Edit10: TEdit;
    Edit11: TEdit;
    Edit12: TEdit;
    Label9: TLabel;
    Button6: TButton;
    ComboBox1: TComboBox;
    Button5: TButton;
    Button7: TButton;
    StringGrid1: TStringGrid;
    Label10: TLabel;
    Edit13: TEdit;
    Label11: TLabel;
    Edit14: TEdit;
    Label12: TLabel;
    Edit15: TEdit;
    Button8: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure Edit2Change(Sender: TObject);
    procedure Edit3Change(Sender: TObject);
    procedure Edit4Change(Sender: TObject);
    procedure Edit5Change(Sender: TObject);
    procedure Edit6Change(Sender: TObject);
    procedure Edit9Change(Sender: TObject);
    procedure Edit10Change(Sender: TObject);
    procedure Edit11Change(Sender: TObject);
    procedure Edit12Change(Sender: TObject);
    procedure Edit13Change(Sender: TObject);
    procedure Edit14Change(Sender: TObject);
    procedure Edit15Change(Sender: TObject);
    procedure Edit8Change(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;
  { Beginn der abzuspeichernden Datei}
  namen : array[1..9999] of string[40];
  Vorname : array[1..9999] of string[40];
  Strasse : array[1..9999] of string[40];
  plz : array[1..9999] of string[8];
  ort : array[1..9999] of string[40];
  kundenstatus1 : array[1..9999] of string[20];
  kundenstatus2 : array[1..9999] of string[20];
  Geburtstag : array[1..9999] of string[10];
  Kundennummer : array[1..9999] of string[12];
  memo : array[1..9999] of string;
  handy : array[1..9999] of string[20];
  tel : array[1..9999] of string[20];
  email : array[1..9999] of string[30];
  belegt : array[1..9999] of boolean;
  Sortkriterium : integer;
  nummer : integer;
   { ende der abzuspeichernden datei}
  sortfeld : array[1..10] of string;
  puffername : string;
  x : integer; {laufende Variablen}

const
  dateigefunden : boolean=false;



implementation
uses unit1;

{$R *.DFM}


procedure gitterdefinieren;
begin
  with form2.stringgrid1 do begin Hier bekomme ich den fehler
      colwidths[0]:=130;
      colwidths[1]:=90;
      colwidths[2]:=130;
      colwidths[3]:=40;
      colwidths[4]:=130;
      colwidths[5]:=50;
      colwidths[6]:=50;
      colwidths[7]:=70;
      colwidths[8]:=90;
      colwidths[9]:=90;
      colwidths[10]:=140;
      cells[0,0]:='Name';
      cells[1,0]:='Vorname';
      cells[2,0]:='Strasse';
      cells[3,0]:='Plz';
      cells[4,0]:='Ort';
      cells[5,0]:='KdSta1';
      cells[6,0]:='KdSta2';
      cells[7,0]:='Geburtsdatum';
      cells[8,0]:='Handy';
      cells[9,0]:='Tel.Nr';
      cells[10,0]:='Email';
   end;
end;

procedure sortieren;
var
   i : integer;
begin
   gitterdefinieren;
   WirklichSortieren;
   for i:=1 to nummer do begin
     with form2.stringgrid1 do begin
       cells[0,i]:=namen[i];
       cells[1,i]:=vorname[i];
       cells[2,i]:=strasse[i];
       cells[3,i]:=plz[i];
       cells[4,i]:=ort[i];
       cells[5,i]:=kundenstatus1[i];
       cells[6,i]:=kundenstatus2[i];
       cells[7,i]:=geburtstag[i];
       cells[8,i]:=handy[i];
       cells[9,i]:=tel[i];
       cells[10,i]:=email[i];
     end;
   end;
end;



begin
   sortfeld[1]:='Name';
   sortfeld[2]:='Vorname';
   sortfeld[3]:='Strasse';
   sortfeld[4]:='Plz';
   sortfeld[5]:='Ort';
   sortfeld[6]:='Kundenstatus1';
   sortfeld[7]:='Kundenstatus2';
   sortfeld[8]:='Geburtstag';
   sortfeld[9]:='jüngste Kunden';
   sortfeld[10]:='älteste Kunden';
   for x:=1 to 9999 do belegt[x]:=false;
   pruefdateiladen;
   if dateigefunden=true then dateiladen;
   sortkriterium:=0;
   sortieren;
end.
sry hoffe nun ist das richtig, ist das erste mal das ich sowas poste

Geändert von Willi1960 ( 9. Mär 2011 um 11:06 Uhr)
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#7

AW: EAccessViolation beim initialisieren des formblattes

  Alt 9. Mär 2011, 11:31
Der Code ganz unten wird Aufgerufen, wenn die Unit erzeugt wird.
Form2 existiert an dem Punkt nicht. du must sortieren bzw gitterdefinieren an einem anderen Punkt aufrufen.

Ein Vorschlag: im OnCreate- ereignis des Form2
Mal ganz davon abgesehen: Du solltest dir noch einmal gründlich überlegen, wie du das Programm aufbauen willst.
So kommst du wahrscheinlich nicht weit.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.105 Beiträge
 
Delphi 12 Athens
 
#8

AW: EAccessViolation beim initialisieren des formblattes

  Alt 9. Mär 2011, 11:36
Solche Hinnweise kannst du als Kommentare (z.B. mit schön vielen * einbauhen) ... ansonsten bitte QuellTexte auch als Quelltext formatieren.
Du hast noch 1-2 tündchen Zweit, um deinen Beitrag nochmal zu ändern.

So schaut sich keiner gern einen Quelltext an und macht die Seite einfach wieder zu.

PS: Du kannst keine Exception an der markierten Stelle bekommen, da gitterdefinieren niemals aufgerufen wird ... jedenfalls nicht in den vorhandenen Quelltexten.
[edit]
oh, jetzt ist der Aufruf plötzlich da ... wäre auch zu schön, wenn die RedBox mal auf neue oder geänderte Posts reagieren würde
Und WM_CLOSE hat inzwischen auch schon die Grund richtig genannt
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 9. Mär 2011 um 11:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#9

AW: EAccessViolation beim initialisieren des formblattes

  Alt 9. Mär 2011, 11:39
PS: Du kannst keine Exception an der markierten Stelle bekommen, da gitterdefinieren niemals aufgerufen wird ... jedenfalls nicht in den vorhandenen Quelltexten.
Doch, in sortieren.

EDIT: Editieren gibt keinen roten Kasten
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: EAccessViolation beim initialisieren des formblattes

  Alt 9. Mär 2011, 11:48
Wird Form2 eigentlich wo erzeugt ( z.B. automatisch über Projekt)?
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:57 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