AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ClassName ist falsch

Ein Thema von xZise · begonnen am 12. Jun 2009 · letzter Beitrag vom 16. Jun 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#11

Re: ClassName ist falsch

  Alt 13. Jun 2009, 12:10
Moin Markus,

Du meinst diesen?
Zitat von xZise:
[...]
Delphi-Quellcode:
var
  Zeile : TZeile;
begin
  Zeile := TBuchZeile.Create;
  Zeile.IstDummy := true;
  TExemplarZeile(Zeile).Buch := nil; // Hier würde der Fehler erzeugt
  ...
end;
[...]
Naja hier sind es drei Zeilen untereinander, aber was ist, wenn dieses Zeilen-Objekt über mehrere Units verstreut verwendet wird.

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: ClassName ist falsch

  Alt 13. Jun 2009, 12:16
Ich meine die Tatsache, das eine Objekt als TBuchZeile erzeugt wird und dann als TExemplarZeile interpretiert wird.
Da diese Klasse in diesem Kontext aber nicht mehr identisch sind, macht der Code mit großer Wahrscheinlichkeit nicht das was du bezwecken willst. ( Wobei ich immer noch nicht genau weiss, was dass ist)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#13

Re: ClassName ist falsch

  Alt 13. Jun 2009, 12:28
Hä?

Wer sagt denn, dass NIE (also wirklich nie nie nie nie nie nie) sowas vorkommt? Ich erstelle die Objekte in dieser Unit (UZeilen.pas) benutze sie aber mehreren anderen Units. Und wenn vielleicht ist irgendwo der Wurm drin und ich caste etwas falsch? Und genau kann könnte rein zufällig das passieren. Wobei dieser Fehler lässt sich mit einer Wahrscheinlichkeit von 100 % (15 "Tests") reproduzieren!

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: ClassName ist falsch

  Alt 13. Jun 2009, 12:33
Dann überprüfe die Klasse bevor du sie castest oder mache wenigstens einen Softcast!

if Zeile is TExemplarzeile then TExemplarZeile(Zeile).Buch := nil;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#15

Re: ClassName ist falsch

  Alt 13. Jun 2009, 12:44
Joar also ich habe den kompletten Code nach den cast zur TExemplarZeile durchsucht. Und naja an jeder Stelle, sollte eigentlich eine TExemplarZeile vorhanden sein. Nun habe ich an einer Stelle das zum Softcast geändert (warum da kA ). Und naja heute kam zumindest einmal der Bug das eine Konvertierung nicht möglich ist. Genau aus diesem Grund werde ich das mal bei allen casts machen. Dann werde ich Rasen mähen und dann sehe ich mal weiter

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: ClassName ist falsch

  Alt 13. Jun 2009, 13:08
tja, harte Casts sollte man halt wirklich nur machen, wenn man weiß, daß da wirklich nur dieser Typ vorkommen kann

ansonsten sollte IS und AS verwendet werden
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#17

Re: ClassName ist falsch

  Alt 13. Jun 2009, 14:05
Naja ich weiß ja dass es diese Zeile sein muss... Aber anscheinend ist da irgendwo der Wurm drin

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#18

Re: ClassName ist falsch

  Alt 16. Jun 2009, 17:19
Hallo an alle,

Okay ich habe den Fehler gefunden Und zwar, lag es daran, dass ich auf inzwischen veraltete Objekte zurückgegriffen hatte.

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 03:08 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