Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 08:44

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 17 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: Abgedrehtes Delphiverhalten
BeitragVerfasst: So Mär 27, 2005 00:39 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Also ich sitz grad da mit offenem Mund und zerzausten Haaren: Mein Delphi macht Sachen die ich nicht versteh:

Ich hab diese kleine Klasse eingebaut:
Code:
  1.         TRenderOps = Class
  2.           private
  3.             FShowLines    : Boolean;
  4.           public
  5.             constructor Create;
  6.             property ShowLines : Boolean   read FShowLines write FShowLines;
  7.         end;

Der Constructor macht nur das:
Code:
  1. constructor TRenderOps.Create;
  2. begin
  3.      inherited;
  4.      ShowLines := True;
  5. end;


Bevor ich das eingefügt habe lief alles blendend. Jetzt aber springt er bei dem ShowLines := True; plötzlich ins Hauptformular und bearbeitet dort unablässig das OnTimerevent. Blöderweise wiederspricht das meiner Initialisierung. Denn:

1. Formulare Createn
2. OpenGL initialisieren
3. Globale Variablen initialisieren
4. Zeichnen und was auch sonst

Im OnTimer wird das Zeichnen ausgelöst. Die geschieht jetzt natürlich voll während der Initialisierung meiner Globalen Vaiablen und das sorgt für Fehler an allen enden.

Wieso kommt dieses Timerevent? Das Createn kann doch keinen Fehler verursachen. Ich hab an die stelle des TRenderOps.Create mal 10 Aufrufe von TList.Create + TList.Free gemacht. Kein Timerevent wird ausgelöst. Irgend etwas stimmt mit der Klasse net, und ich weiß net was. :?: :!: :evil:

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 27, 2005 00:57 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Hab gerade eine 2. Klasse mit Identischen Aussehen zu TRenderOps erstellt und diese eingesetzt. Das Verhalten unterscheidet sich nicht. D.h. es ist ein systematischer Fehler und kein reines Zufallsprodukt, aus schicksalshaft verknüpften Speicherinhalten.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 27, 2005 01:18 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
Probiers mal mit FShowLines anstatt mit ShowLines!

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 27, 2005 01:21 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Jan 04, 2003 21:23
Beiträge: 674
Wohnort: Köln
hab leider kein Delphi installiert um es nachzuvollziehen...
tritt das Verhalten auch auf, wenn du das "inherited;" weglässt, also durch einen reinen Zugriff auf die Property?

_________________
. . .


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 27, 2005 04:37 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 28, 2002 19:27
Beiträge: 568
Wohnort: Chemnitz / Sachsen
ganz sauber wäre es mit
Code:
  1. self.showlines...


evtl. nimmt delphi fälschlischerweise irgendeine parent-variable ..

_________________
Aktuelles Projekt :
www.PicPlace.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 00:01 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Mit FShowLines hab ichs schon probiert. (Das war die Ausgangsvariante) -> keine Änderung

Ohne inherited -> keine Änderung

Self.Showlines -> es gibt keinen Vorfahren mit der Eigenschaft. Die Klasse stammt direkt von TObject ab. -> keine Änderung

Bin wirklich perplex. Ich kann das Problem natürlich umgehen, indem ich das Showlines anderswo ablege. Aber dieses Verhalten .... absolut mysteriös. :?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 11:30 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Poste mal das ganze Projekt. Vielleicht kann man das dann genauer untersuchen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 16:54 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Vergesst es. Ich habs gefunden. Der Fehler is so primitiv und billig, das kann ich keinem zeigen. :oops:

Am besten löscht den ganzen Thread.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 16:56 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Jan 04, 2003 21:23
Beiträge: 674
Wohnort: Köln
hat er denn mit dem geposteten Code zu tun?
dann haben wir ihn ja alle übersehen ;)

_________________
. . .


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 17:07 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
ich kenn mich ja mit komponenten nicht aus, und deshalb ist es wohl nicht diese zeile:

property ShowLines : Boolean read FShowLines write FShowLines;

welche dann mit diesern icht übereinstimmt:

ShowLines := True; // kein F

oder?

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 17:18 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Nein. der gepostete Code war fehlerfrei.

@Luke: :shock: Da musst du dir aber mal unbedingt bei Delphi-Source die Kapitel zu objektorientierter Programmierung durchlesen. Das gehört nämlich zu den Grundlagen der Klassendefinition.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 17:20 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 19, 2004 00:27
Beiträge: 454
Wohnort: Nürnberg
Und was war jetzt der Fehler?????


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 17:22 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Hatte was mit Klassenerstellung zu tun. 8)
Vergesst es einfach. Ich versuchs auch gerade zu verdrängen.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 17:22 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
wie bereits gesagt: ich kenn mich ja nicht aus. aber deinen tipp werd ich wahrnehmen.

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 21:59 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Sowas?
Code:
  1.  
  2. var Class: TClass;
  3. begin
  4. Class.Create;
  5. end;
  6.  

Jedenfalls passiert mir das immer wieder bei Classen.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 17 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 15 Queries | GZIP : On ]