Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Problem mit Objektorientierung (https://www.delphipraxis.net/79124-problem-mit-objektorientierung.html)

Mussi0 16. Okt 2006 20:08


Problem mit Objektorientierung
 
Hallo zusammen,

ich habe wiedermal ein Problem mit Objektorientierung
in Delphi 7.
Und zwar will ich in einer Klasse eine Procedure/Funktion
haben die Testen ob in den Eigenschaften der Klasse schon ein
Wert drin steht.
Leider kommt eine Meldung das eine Zugriffsverletzung in Adresse "..."
vorliege.
Delphi-Quellcode:
procedure TEigeneKlasse.SetFeld(WertX,WertY : integer; var Feld : Field);
begin
  if WertX >= 1
    then Feld.X := WertX;
  if WertY >= 1
    then Feld.Y := WertY;
end;

procedure TEigeneKlasse.FeldRedFirst(x,y : integer);
begin
  SetFeld(x, y, FFeld1);
end;
Die SetFeld ist eine Private Procedure und die FeldRedFirst ist eine Public Procedure.

Ich weiß wirklich nicht mehr weiter.

Gruß
Muss!0

Neutral General 16. Okt 2006 20:13

Re: Problem mit Objektorientierung
 
Ich würde dadrauf tippen das entweder FFeld noch nicht erstellt wurde oder die Klasse selbst ;)

Gruß
Neutral General

Mussi0 16. Okt 2006 20:18

Re: Problem mit Objektorientierung
 
:pale: mist schon wieder der gleiche Fehler
das hatte ich schon öfters aber das komische war das der die
anderen Public Proceduren gemacht hat.
Woran kann das liegen das der die Procedure ausführt aber die anderen
sachen nicht?

Gruß und vielen DANK
Muss!0

alzaimar 16. Okt 2006 21:06

Re: Problem mit Objektorientierung
 
Die Instanz zeigt irgendwo in die Pampa, und wenn die Felder generische Typen sind, dann steht in ihnen sogar etwas drin.

Mussi0 16. Okt 2006 21:15

Re: Problem mit Objektorientierung
 
aso leuchtet ein ... danke

3_of_8 16. Okt 2006 21:21

Re: Problem mit Objektorientierung
 
Findest du nicht, dass das Thema besser in ein anderes Subforum gepasst hätte? Nebenbei, falls du nicht mit .NET programmierst, tut man normalerweise vor alle Typen, die keine Pointer und keine Exceptions sind, ein T-Präfix.

Mussi0 16. Okt 2006 21:25

Re: Problem mit Objektorientierung
 
ohh...tut mir leid ich werd mich ab jetzt dran halten...

3_of_8 16. Okt 2006 21:28

Re: Problem mit Objektorientierung
 
Macht ja nix. Und das andere ist auch nur eine Konvention.

Die häufigsten Gründe für Exceptions sind:

1. Pointer/Klasse nicht instantiiert
2. Arraygrenzen überschritten

Neutral General 16. Okt 2006 21:28

Re: Problem mit Objektorientierung
 
Zitat:

Zitat von 3_of_8
Findest du nicht, dass das Thema besser in ein anderes Subforum gepasst hätte? Nebenbei, falls du nicht mit .NET programmierst, tut man normalerweise vor alle Typen, die keine Pointer und keine Exceptions sind, ein T-Präfix.

Hat er das nicht getan?

FFeld ist doch mit Sicherheit eine private Variable also darf auch en F vorstehn ;) (falls du das meinst)

Khabarakh 16. Okt 2006 21:33

Re: Problem mit Objektorientierung
 
Du kennst den Unterschied zwischen "T" und "F" :stupid: ?

[add]Das soll aber nicht heißen, dass der Präfix des Feldes falsch wäre ;) . [/add]


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:43 Uhr.
Seite 1 von 2  1 2      

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