AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Speicherung von Sets... ?!?

Ein Thema von Kedariodakon · begonnen am 28. Feb 2005 · letzter Beitrag vom 5. Mai 2009
Antwort Antwort
Seite 3 von 3     123
Benutzerbild von himitsu
himitsu

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

Re: Speicherung von Sets... ?!?

  Alt 10. Apr 2009, 09:24
Ich hab ein kleines Problem mit TypInfo.GetSetProp.

und zwar verreckt dieses mit einer Exception,
Zitat:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project1.exe ist eine Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletzung bei Adresse 0041A89D in Modul 'Project1.exe'. Lesen von Adresse 00000000' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------
wenn das Set Leerstellen enthält.

dieses geht ohne Probleme:
Delphi-Quellcode:
TXMLNodeType = (xtInstruction, xtTypedef, xtElement, xtCData, xtComment, xtUnknown);
TXMLNodeTypes = Set of TXMLNodeType;

TXMLNodeType = (xtInstruction, xtTypedef, xtElement, xtCData, xtComment, xtUnknown=5);
TXMLNodeTypes = Set of TXMLNodeType;
hier kommt die Exception:
Delphi-Quellcode:
TXMLNodeType = (xtInstruction, xtTypedef, xtElement, xtCData, xtComment, xtUnknown=6);
TXMLNodeTypes = Set of TXMLNodeType;

TXMLNodeType = (xtInstruction, xtTypedef, xtElement, xtCData, xtComment, xtUnknown=31);
TXMLNodeTypes = Set of TXMLNodeType;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#22

Re: Speicherung von Sets... ?!?

  Alt 10. Apr 2009, 09:58
Zitat von Kedariodakon:
...Aber eine Frage ist immer noch offen, ist die SetVariable von sich aus schon so groß wie das volle Set einnimmt?
Hi,

die Grösse ist ja zur Compile Time bekannt, daher ist ein Set of 1..5 nur 1 Byte, ein Set of Byte 32 Byte gross.

@shmia: 256 / 8 = 32 !

Gruss Reinhard
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Speicherung von Sets... ?!?

  Alt 10. Apr 2009, 10:05
Zitat von Reinhard Kern:
die Grösse ist ja zur Compile Time bekannt, daher ist ein Set of 1..5 nur 1 Byte, ein Set of Byte 32 Byte gross.
das mit der CompileTime stimmt, aber die Größen nicht

{$MinimumEnumSize} = 4, dann ist auch ein Set mit nur 1 Wert drin auch 4 Byte.


zu meinem Problem:
ich versuch die TypInfo grad zu zerlegen
und der Fehler liegt vermutlich in der Internen TypInfo.InternalGetPropInfo (k.A. eventuell Stack zersört), aber abStürzen tut es dann am Ende (end von FindPropInfo.

[add] ach ja ... Delphi2009 (probier heut abend mal eine ältere Version)

[edit]
TypInfo.InternalGetPropInfo isses doch nicht ... weiter geht die Suche im anderen TypInfo.GetSetProp
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 himitsu
himitsu

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

Re: Speicherung von Sets... ?!?

  Alt 10. Apr 2009, 11:17
so, hab die letzte Stunde versucht die TypInfo zu debuggen ...

TTypeData > tkSet: (CompType: PPTypeInfo)); bei Sets mit freien Stellen ist CompType nicht vorhanden (= nil)

in der TypInfo.SetToString wird dieses hier
GetTypeData(PropInfo^.PropType^)^.CompType aufgerufen, liefert nil und da es daraufhin ungeprüft dereferenziert wird,
TypeInfo := GetTypeData(PropInfo^.PropType^)^.CompType^; knallt es.


die Frage ist nur, warum gibt es, bei sowas
Code:
TXMLNodeType = (xtInstruction, xtTypedef, xtElement, xtCData, xtComment, xtUnknown[color=#ff0000][b]=6[/b][/color]);
TXMLNodeTypes = Set of TXMLNodeType;
, keine PPTypeInfo mehr?

[edit=alzaimar]'freuen' -> 'freien' auf Bitten des Beitragverfassers. Mfg, alzaimar[/edit]
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 himitsu
himitsu

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

Re: Speicherung von Sets... ?!?

  Alt 5. Mai 2009, 17:39
http://fnse.de/S02/15S.gif

hat da jemand 'ne Idee, wie man das elegant umgehen kann,
bzw. ob doch irgendwie die TypeInfo herzubekommen ist,
wenn man einen Set mit leeren Stellen hat?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:19 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