AGB  ·  Datenschutz  ·  Impressum  







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

Eigene Datentypen beschraenkungen

Ein Thema von fgb · begonnen am 11. Nov 2006 · letzter Beitrag vom 13. Nov 2006
Antwort Antwort
fgb

Registriert seit: 4. Okt 2004
35 Beiträge
 
#1

Eigene Datentypen beschraenkungen

  Alt 11. Nov 2006, 22:00
Gibt es Speicher maessig irgend welche Beschraekungen.
z.B. Das man nicht unendliche viele Array die ebenfalls Records und Array enthalten benutzten kann?

Ich hab jetzt um Beispiel 4 Array die jeweils 0..100 elemente enthalten in eine Record Datentyp geschatelt.

Gibt es wenn das nicht geht, vileicht moeglichkeiten das zu umgehen?

Ist es effizenter eine eigene Klasse statt ein Record zu benutzten?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Eigene Datentypen beschraenkungen

  Alt 11. Nov 2006, 22:05
Sicherlich. Jeder Prozess darf unter eine 32-Bit-Windows maximal 2 GB Speicher allokieren. Unter eine 64-Windows ist es möglich für eine 32-Bit-Programm 3 GB zu Allokieren.

Klassen sind fast immer besser zu verwenden wenn es darum geht diverse Funktionen für diese Strukturen bereitzustellen. Klasseninten darfst du trotzdem Records verwenden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
fgb

Registriert seit: 4. Okt 2004
35 Beiträge
 
#3

Re: Eigene Datentypen beschraenkungen

  Alt 11. Nov 2006, 22:13
Kann ich auch feststellen wie viel Speicher ich alloziert habe?
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Eigene Datentypen beschraenkungen

  Alt 11. Nov 2006, 22:44
die imho einfachste methode ist alle daten reinzufüllen und dann mal im taskmanager schauen wie viel man verbraucht (unter prozesse die eigene anwendung suchen vllt. noch ein paar häkchen setzen)

tobi
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Eigene Datentypen beschraenkungen

  Alt 12. Nov 2006, 00:28
Moin Zusammen,

Zitat von Bernhard Geyer:
Jeder Prozess darf unter eine 32-Bit-Windows maximal 2 GB Speicher allokieren.
Sollte mehr erforderlich sein, könnte man sich, u.U., noch mit Memory Mapped Files behelfen, wobei dann die Handhabung, und wohl auch die Performance leiden werden.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
fgb

Registriert seit: 4. Okt 2004
35 Beiträge
 
#6

Re: Eigene Datentypen beschraenkungen

  Alt 13. Nov 2006, 14:43
Bim mir tritt das Problem ja eigentlich immer auf wenn ich den Datentyp an eine Procedure übergebe bzw. als Rückgabewert einer Funktion geht es gar nicht. Ich bekomme dann immer die fehlermeldung das der Stack überglaufen sei. Deswegen komm mir jetzt die Vermutung auf das der Datentyp zwar genung Speicher hat, aber der Datentyp für Proceduren und Funktion zugross ist. Kann das sein und was kann man dagegen tun?
  Mit Zitat antworten Zitat
marabu

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

Re: Eigene Datentypen beschraenkungen

  Alt 13. Nov 2006, 15:16
Hi,

Funktionsparameter, welche auf dem Stack übergeben werden, unterliegen natürlich den konfigurierten Beschränkungen. Schaue dazu mal in den Projektoptionen auf der Seite "Linker".

Grüße vom marabu
  Mit Zitat antworten Zitat
fgb

Registriert seit: 4. Okt 2004
35 Beiträge
 
#8

Re: Eigene Datentypen beschraenkungen

  Alt 13. Nov 2006, 15:26
Danke marabu das Klappt Prima!

Wie hoch darf ich die Stack Grösse den einstellen und was für Nachteil hat das (bzw. Probleme könne auftreten)?
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#9

Re: Eigene Datentypen beschraenkungen

  Alt 13. Nov 2006, 17:01
Folgender Thread könnte helfen: http://forum.dsdt.info/viewtopic.php?t=26632

Ich würde aber vorschlagen, wenn du wirklich so große Parameter hast, pack die aufn Heap. Und das geht am einfachsten, wenn du Klassen draus machst...

mfg

Christian
Kaum macht man's richtig, schon klappts!
  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 23: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