AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Zugriffsverletzung bei Adresse 0045976B ...
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriffsverletzung bei Adresse 0045976B ...

Ein Thema von anoymouserver · begonnen am 19. Aug 2012 · letzter Beitrag vom 19. Aug 2012
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Zugriffsverletzung bei Adresse 0045976B ...

  Alt 19. Aug 2012, 01:21
Und in welcher Zeile taucht der Fehler auf?

btw. war ne ganz schöne Tipp/Kopierarbeit

Ab dem nächsten Projekt solltest du dich mit DRY, KISS und der Codeformatierung beschäftigen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
anoymouserver
(Gast)

n/a Beiträge
 
#2

AW: Zugriffsverletzung bei Adresse 0045976B ...

  Alt 19. Aug 2012, 01:29
Und in welcher Zeile taucht der Fehler auf?
nach der Meldung ist immer diese Zeile markiert:

Form2.ShowModal; {Infobox öffnen} wenn du mir zur Codeformatierung gute Tipps geben kannst bin ich immer dafür offen :D (wie gesagt ist mein erstes Programm)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Zugriffsverletzung bei Adresse 0045976B ...

  Alt 19. Aug 2012, 01:33
Tja, wie gesagt.
Haltepnkt drauf, Mauszeger über "Form2" halten und staunen ... da wird dann doch nicht etwa NIL angezeigt?

btw. war ne ganz schöne Tipp/Kopierarbeit

Ab dem nächsten Projekt solltest du dich mit DRY, KISS und der Codeformatierung beschäftigen
Was er damit meint ist, daß sich Methoden wie aDEdLaengecChange, locker in nur kurzen 3 Zeilen Quellcode schreiben lassen, falls man sich nicht so viel Arbeit machen will.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
anoymouserver
(Gast)

n/a Beiträge
 
#4

AW: Zugriffsverletzung bei Adresse 0045976B ...

  Alt 19. Aug 2012, 01:41
Für so eine billige Form-ShowModal Instanz kann man folgendes benutzen:
Delphi-Quellcode:
with TForm2.Create do
  try
    ShowModal;
  finally
    Free;
  end;
wenn ich das übernehme kommt die Meldung 'Nicht genügend wirkliche Parameter'?




Ab dem nächsten Projekt solltest du dich mit DRY, KISS und der Codeformatierung beschäftigen
Was er damit meint ist, daß sich Methoden wie aDEdLaengecChange, locker in nur kurzen 3 Zeilen Quellcode schreiben lassen, falls man sich nicht so viel Arbeit machen will. [/QUOTE]
das dacht ich mir aber ich habe bis jetzt leider noch keine Ahnung wie ... aber Tipps nehm ich gerne an
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Zugriffsverletzung bei Adresse 0045976B ...

  Alt 19. Aug 2012, 01:46
Upps, jo, das muss TForm2.Create( nil ) heißen, da muss ja ein Owner angegeben werden (bzw. keiner -> nil, weil wir das Freigeben selber übernehmen)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
anoymouserver
(Gast)

n/a Beiträge
 
#6

AW: Zugriffsverletzung bei Adresse 0045976B ...

  Alt 19. Aug 2012, 01:51
ich hab das jetzt hier eingefügt:
Delphi-Quellcode:
procedure TForm1.Info1Click(Sender: TObject);
begin
with TForm2.Create( nil ) do
  try
    ShowModal;
  finally
    Free;
  end; {Infobox öffnen}
end;
aber jetzt bekomm ich eine ähnliche fehlermeldung
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Zugriffsverletzung bei Adresse 0045976B ...

  Alt 19. Aug 2012, 01:53
ich hab das jetzt hier eingefügt:
Delphi-Quellcode:
procedure TForm1.Info1Click(Sender: TObject);
begin
with TForm2.Create( nil ) do
  try
    ShowModal;
  finally
    Free;
  end; {Infobox öffnen}
end;
aber jetzt bekomm ich eine ähnliche fehlermeldung
Die da lautet und an welcher Stelle?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
anoymouserver
(Gast)

n/a Beiträge
 
#8

AW: Zugriffsverletzung bei Adresse 0045976B ...

  Alt 19. Aug 2012, 02:00
jetzt lautet die Meldung: 'Zugriffsverletzung bei Adresse 004379B8 in Modul 'ProjektBerechnen.exe'. Lesen von Adresse 00000048'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.

aber nach wiederholtem OK drücken tauch immerhin schonmal die Infobox auf
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Zugriffsverletzung bei Adresse 0045976B ...

  Alt 19. Aug 2012, 12:12
wenn ich das übernehme kommt die Meldung 'Nicht genügend wirkliche Parameter'?
Bei sowas schaut man einfach nach, was für Parameter fehlen.
> OH (Delphi-Referenz durchsuchenTForm.Create)
> Quellcodevervollständigung, aber hier eher das CodeInsight (halte mal die Maus über das "Create" und warte ein Sekündchen)

Was aber noch "sehr schlecht" ist, die radikale Verwendung der bösen globalen Variablen.
Wenn du Code innerhalb der Mothoden von TForm1 hast, dann verwende darin niemals Variablen wie Form1.
Du bist da schon in TForm1 drin, dann muß man doch nicht den gewählichen Umweg über die Klippe "Form1" nehmen, um am Ende wieder auf sich selber zuzugreifen.
Das ist ja so, als wenn du Gott sagst er solle dich was fragen. (schneller geht's du fragst dich selber)

Wie hieß nochmal das Spiel, wo Einer dem Anderem was zuflüstert, das dann immer so weitergeht und nach einer Weile kommt was ganz Anderes raus?

Zitat:
aber ich habe bis jetzt leider noch keine Ahnung wie ... aber Tipps nehm ich gerne an
Zitat von anoymouserver:
Hi sorry falls ich störe aber du sagtest
...
kannst du mir bitte sagen wie, denn langsam bekomm ich Probleme weil es unübersichtlich wird ...
Es gibt ja eigentlich genügent Delphitutorials.

Und für den Anfang:
Delphi-Quellcode:
if B then
  A := True
else
  A := False;

A := B;
Delphi-Quellcode:
if B then
  A := False
else
  A := True;

A := not B;
Delphi-Quellcode:
if C then begin
  if B then
    A := True
  else
    A := False;
end else begin
  if B then
    A := False
  else
    A := False;
end;

A := B and C;
Delphi-Quellcode:
if C then begin
  if B then
    A := True
  else
    A := True;
end else begin
  if B then
    A := True
  else
    A := False;
end;

A := B or C;
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (19. Aug 2012 um 18:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Zugriffsverletzung bei Adresse 0045976B ...

  Alt 19. Aug 2012, 01:34
Ok, das bedeutet, dass es noch keine Instanz für die Form gibt

Die Form2 hast du aus der Liste der automatisch zu erstellenden Formulare entfernt.
Das ist schon soweit ok, aber dann musst du dich auch um die Erzeugug einer Instanz kümmern.

Für so eine billige Form-ShowModal Instanz kann man folgendes benutzen:
Delphi-Quellcode:
with TForm2.Create do
  try
    ShowModal;
  finally
    Free;
  end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 00:15 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-2025 by Thomas Breitkreuz