AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Fehler beim erstellen der Eigenen Komponente
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler beim erstellen der Eigenen Komponente

Ein Thema von simonit · begonnen am 18. Mai 2005 · letzter Beitrag vom 18. Mai 2005
Antwort Antwort
simonit

Registriert seit: 25. Apr 2005
15 Beiträge
 
#1

Fehler beim erstellen der Eigenen Komponente

  Alt 18. Mai 2005, 17:20
Hi erstmal.

Hab ein Problem mit einer von mir geschriebenen Komponente. Sie lässt sich zwar installieren, allerdings tritt beim erstellen der Komponente ein Stack-Fehler auf, welcher Delphi manchmal sofort (ohne Fehlermeldung) beendet, andernfalls bekommt man die Fehlermeldung, dass ein Stack-Überlauf aufgetreten ist und Delphi neu gestartet werden sollte.

Leider habe ich keine Idee woran es liegen könnte.
Die Komponente ist von TImage abgeleitet. Sie soll es ermöglichen Grenzen des Images so zu setzen, sodass auch Real-Werte gezeichnet werden können. Ist eine Aufgabe aus unserer Schule, leider wissen meine Lehrer auch nicht wo der Fehler liegen könnte.

Vielleicht könnte sich jemand von euch mal meine Komponente anschauen.

Danke schon mal im voraus.
Angehängte Dateien
Dateityp: pas realimage_959.pas (3,3 KB, 7x aufgerufen)
Matthias
  Mit Zitat antworten Zitat
shmia

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

Re: Fehler beim erstellen der Eigenen Komponente

  Alt 18. Mai 2005, 17:50
Delphi-Quellcode:
function TRealImage.getBottomBound: real;
begin
// Falsch !!!
// du greifst auf das Property Bottombound zu
// dies führt zu einem rekursiven Aufruf von getBottomBound mit Stacküberlauf
  result:=Bottombound;


// Richtig
  result := FBottomBound; // der Wert wird aus einer privaten Variablen gelesen
end;
Alle GetXXXXBound Methoden und alle SetXXXXBound Methoden sind falsch.
Andreas
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Fehler beim erstellen der Eigenen Komponente

  Alt 18. Mai 2005, 17:51
Hallo Matthias,

weisst du was eine Rekursion ist?

Deine Komponente hat z.B. eine property LeftBound. Dazu hast du keine Objektvariable deklariert, sonder nur eine Zugriffsmethode. In der Zugriffsmethode greifst du auf die property selbst zu - und das bereits im constructor - autsch.

Wahrscheinlich möchtest du ja auf die entsprechenden Integer-Objektvariablen von TImage zugreifen un diese als Real-Wert zurückgeben, oder?

Grüße vom marabu

(auch an deinen Lehrer)
  Mit Zitat antworten Zitat
simonit

Registriert seit: 25. Apr 2005
15 Beiträge
 
#4

Re: Fehler beim erstellen der Eigenen Komponente

  Alt 18. Mai 2005, 18:06
Erstmal danke für die schnelle Hilfe.

Natürlich weis ich was eine Rekursion ist, allerdings war mir nicht bewusst dass dieser Aufruf rekursiv ist, da wir nie wirklich mit Properties o.Ä. gearbeitet haben.
Wir haben eben das erstellen von Komponenten nie wirklich durchgemacht, unsere Lehrer waren nur der Meinung es wäre vielleicht eine gute Übung für uns... Dass sie sich selbst nicht auskennen hattn sie wohl nicht bedacht

Damit ist mein Problem gelöst, danke
Matthias
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:59 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