Einzelnen Beitrag anzeigen

Eskayp

Registriert seit: 14. Apr 2005
5 Beiträge
 
#7

Re: Memory-Leck? Verkettete Records brauchen extrem viel Ram

  Alt 15. Apr 2005, 10:22
Wow, das geht ja schnell hier

Hmm, also Memproof scheint anzuzeigen (wenn ich das Tool richtig verstehe), dass es halt viele viele reservierte Speicherbereiche gibt, die alle die gleiche Größe haben. Das werden dann also die einzelnen Zeilen als Records sein.

Jetzt stellt sich nur die Frage: wie kann ich denn nun die Größe reduzieren? Die Strings sind natürlich unterschiedlich lang. Es handelt sich bei einer Tabelle z.B. um eine Fahrzeugtabelle. Da gibt es dann Fahrzeuge der Marke "BMW" und Fahrzeuge der Marke "Mitsubishi". Insgesamt ist das längste Feld 25 Zeichen lang, das kürzeste 0. Mit Strings einer festen Länge zu arbeiten ist also auch nicht sinnvoll.

Bringt es eigentlich was, packed records daraus zu machen? Muss ich mal ausprobieren.

---

Neben der Verschlüsselung gibt es noch andere Gründe, das Datenhandling selber zu übernehmen:
1. Da es sich um eine Auftragsarbeit handelt und das fertige Programm auf CD verteilt werden soll, muss ich genauestens auf Lizenzen achten.
2. Da sich das Datenformat ändern könnte (ist im Moment noch nicht abzusehen) müsste die Datenbankroutine ggf. ausgetauscht werden. Daher wird diese auch später in eine DLL ausgelagert.
3. Die selbe DLL wird dann wahrscheinlich auch für andere Projekte genutzt werden. Und da ist es schon besser, wenn man weiss, was da genau drin steckt

---

@Speedmaster: Vielen Dank für das Lob da ich normalerweise überwiegend in PHP programmiere, muss ich mir selber immer sagen, was ich denn da getan habe, hehe...

---

@jpg: Den dyn. Arrays liegt folgende Überlegung zugrunde: ich möchte mit ja im Prinzip mit Hilfe meiner Records ein zweidimensionales System mit ein paar Zusatzdaten abbilden. Wenn ich jetzt nach einem Datensatz des Herstellers "Mercedes" suche und die dazugehörigen Fahrzeuge ausgeben möchte, muss ich ja erstmal gucken, welche Spalte den Titel "Hersteller" trägt, und welche den Titel "Modell". Dann müsste ich in jeder Zeile die verk. Records von vorne nach hinten durchlaufen. Das wollte ich mir mit den dyn. Arrays sparen. Man hätte dann allerdings auch gleich ein kompl. 2-dim. Array machen können. Hmm. So hab ich ne Mischung gemacht, die jetzt im Nachhinein tatsächlich völlig bekloppt ist *g*
Ich änder das!

Aber wie mach ich das "sValue := sValue + pHaystack[i];" denn besser?
  Mit Zitat antworten Zitat