AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wann kann System.Copy(Array, Index, Count) eine Exception liefern?
Thema durchsuchen
Ansicht
Themen-Optionen

Wann kann System.Copy(Array, Index, Count) eine Exception liefern?

Ein Thema von s.h.a.r.k · begonnen am 6. Mai 2011 · letzter Beitrag vom 9. Mai 2011
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu

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

AW: Wann kann System.Copy(Array, Index, Count) eine Exception liefern?

  Alt 6. Mai 2011, 11:54
Nee, geziehlt fällt mir jetzt nix ein.

Bei Records mit Recordmetoden und den Records sleber als Result davon und zusammen mit nur einem Feld im Record (z.B. nur ein dyn. array oder ein Interface), gibt es einen Fehler in der Referenzzählung (wird zuoft freigegeben und dann knallts).

Enums und Sets, mit vordefinierten Werten (type e = (one, two=2, tree); ), besitzen keine Typinfos zu den Werten.

Und bei den Generics gibt es Fehler die nicht immer da sind. Irgendwo davor eine Leerzeile eingefügt und urplötzlich geht es u.Ä.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#12

AW: Wann kann System.Copy(Array, Index, Count) eine Exception liefern?

  Alt 6. Mai 2011, 12:01
Bei Records mit Recordmetoden und den Records sleber als Result davon und zusammen mit nur einem Feld im Record (z.B. nur ein dyn. array oder ein Interface), gibt es einen Fehler in der Referenzzählung (wird zuoft freigegeben und dann knallts).
Äh, nochmal langsam?! Ein Record mit Methoden, welcher auch noch ein Feld hat, am besten noch ein dynamisches Array? Also quasi sowas hier
Delphi-Quellcode:
TApDynamicArray<T> = record
private const
  DEFAULT_SEPARATOR = ';';
  DEFAULT_USE_BRACKETS = True;
  DEFAULT_BRACKETS_OPEN = '[';
  DEFAULT_BRACKETS_CLOSE = ']';
private type
  TDynamicArray = array of T;
private
  FData : TArray<T>;
  { Methoden }
public
  { Methoden }
  property Data[Index: Integer]: T read GetData write SetData; default;
  property Length: Integer read GetLength write SetLength;
end;
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Wann kann System.Copy(Array, Index, Count) eine Exception liefern?

  Alt 6. Mai 2011, 12:07
Jupp.

Das einfachste wäre quasi Dieses.
Delphi-Quellcode:
type
  TKnall = record
    FData: array of irgendwas;
    function Machwas: TKnall;
  end;

http://www.delphipraxis.net/132817-u...ler-e2506.html
https://forums.codegear.com/thread.jspa?threadID=35565
http://www.delphipraxis.net/144528-s...iccharset.html
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 6. Mai 2011 um 12:09 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#14

AW: Wann kann System.Copy(Array, Index, Count) eine Exception liefern?

  Alt 6. Mai 2011, 12:08
Das trifft sich doch echt super! Sowas sollte man früher wissen Soll ich nun aber darüber lachen oder heulen? Naja, wollen wir mal hoffen, dass sonst alles klappt -- bisher geht eigentlich alles, bis auf dieser System.Copy()-Aufruf.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Wann kann System.Copy(Array, Index, Count) eine Exception liefern?

  Alt 6. Mai 2011, 12:11
hatte oben noch was editiert.

Nja, den Referenzfehler bekommt man leicht weg ... einfach ein weiteres Feld/Variable in den Record aufnehmen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#16

AW: Wann kann System.Copy(Array, Index, Count) eine Exception liefern?

  Alt 6. Mai 2011, 12:19
Hm, hat bei mir nich wirklich geholfen. Hätte mich auch gewundert, das es bei mir ja ein Laufzeitproblem ist. Ich warte einfach auf die XE2-Version Mein Workaround funktioniert ja, habe nun aber anstatt einer Zeile Code gleich 15... Ärgerlich ist sowas aber trotzdem...
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Wann kann System.Copy(Array, Index, Count) eine Exception liefern?

  Alt 6. Mai 2011, 12:25
habe nun aber anstatt einer Zeile Code gleich 15...
Schreib einfach alle Befehle hintereinander.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#18

AW: Wann kann System.Copy(Array, Index, Count) eine Exception liefern?

  Alt 9. Mai 2011, 15:55
Will hier noch kurz etwas bzgl. dem Move-Befehl in Kombination zu Generics erwähnen, siehe diesen Blog-Eintrag.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  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 18:32 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