Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Komponente entwickelt aber nicht sichtbar..?! (https://www.delphipraxis.net/91983-komponente-entwickelt-aber-nicht-sichtbar.html)

Hansa 12. Mai 2007 21:19

Re: Komponente entwickelt aber nicht sichtbar..?!
 
Destructor fehlt auch. Die Strings sind im Record sogar doppelt drin. Frage am Rande : seit wann schreibt man im private TYPE rein ? :shock: Um einen Schritt weiter zu kommen würde ich mal zumindest Shortstring verwenden. Unsauber bleibts dann aber immer noch. Konzept ist eben grundsätzlich falsch angelegt. :mrgreen:

@roter Kasten : free wird aufgerufen und nicht zugewiesen.

siehe roter Kasten Nr.2. :mrgreen:

Hawkeye219 12. Mai 2007 21:45

Re: Komponente entwickelt aber nicht sichtbar..?!
 
Hallo Hansa,

Zitat:

Destructor fehlt auch.
Was würdest du im überschriebenen destructor machen?

Zitat:

Die Strings sind im Record sogar doppelt drin.
???

Zitat:

Frage am Rande : seit wann schreibt man im private TYPE rein ?
Man kann das tun - seit Delphi 2005.

Zitat:

Um einen Schritt weiter zu kommen würde ich mal zumindest Shortstring verwenden.
Würde das den anfänglichen Speicherplatzbedarf nicht noch weiter erhöhen?

Zitat:

free wird aufgerufen und nicht zugewiesen.
Hast du bemerkt, daß Free ein Feld des Records ist?

Gruß Hawkeye

arohde 12. Mai 2007 22:12

Re: Komponente entwickelt aber nicht sichtbar..?!
 
Hi,

1. Wozu brauchst du 10 Millionen-1 Strings

2. Wenn man so was macht, dann benutze wie oben angemerkt dynamische Arrays.Die solltest du aber nicht am Anfang in einer Schleife von 1 bis 9999999 initialisieren, sonst hast du doch wieder 10 Millionen-1 Elemente im Array.

3. Du könntest das Ganze auch mit einer doppelt verketteten Liste implementieren und die Objekte erst anlegen, wenn ein Neues gebraucht wird.

4. Fang doch mal klein an, wenn du mal ausprobieren willst, z.B. array[1..99] of TVariable zum Testen.

Ciao,
Alex

Hansa 13. Mai 2007 01:33

Re: Komponente entwickelt aber nicht sichtbar..?!
 
Da ist einiges zu tun :

Zitat:

Destructor fehlt auch. Was würdest du im überschriebenen destructor machen?
Was wohl ? Das ist keine Antwort. Wie wärs mit Free ?

Zitat:

Die Strings sind im Record sogar doppelt drin.
Das dürfte wohl klar sein und die Fehlermeldungen auch zum Teil erklären. :P Der Record enthält 2 strings.

Zitat:

Um einen Schritt weiter zu kommen würde ich mal zumindest Shortstring verwenden.
Würde das den anfänglichen Speicherplatzbedarf nicht noch weiter erhöhen?

Durch Reduzierung des Speicherplatzes den Speicherplatz erhöhen ? :shock:

Zitat:

free wird aufgerufen und nicht zugewiesen. Hast du bemerkt, daß Free ein Feld des Records ist?
Wer ein Feld als free benennt ist selber Schuld. :mrgreen:

Jelly 13. Mai 2007 08:57

Re: Komponente entwickelt aber nicht sichtbar..?!
 
Zitat:

Zitat von Dragon27
also habe jetzt mal Version 0.1 Beta meine Kompo soweit fertig... doch jetzt der Schock... Wenn ich sie auf Form ziehen will wird sie nicht angezeigt???

Mal abgesehen von den anderen Fehlern mit dem Speicher, den du hier schilderst, solltest du wissen dass Komponenten, die direkt von TCOmponent abgeleitet werden, unsichtbare Komponenten sind. Dann muss du schon einen anderen Vorgänger wählen.

Was soll die Komponente dann letzten Endes machen. Ist ja schrecklich, wie unbedacht Du mit Systemresourcen umgehst.

Wenn es nur darum geht, 10 Millionen Datensätze zu verwalten mit Such- und Löschfunktionen, so würde sich eher eine Datenbanktabelle für dein Vorhaben eignen.

SirThornberry 13. Mai 2007 09:26

Re: Komponente entwickelt aber nicht sichtbar..?!
 
Zitat:

Zitat von Hansa
Zitat:

Um einen Schritt weiter zu kommen würde ich mal zumindest Shortstring verwenden.
Würde das den anfänglichen Speicherplatzbedarf nicht noch weiter erhöhen?

Durch Reduzierung des Speicherplatzes den Speicherplatz erhöhen ? :shock:

Shortstrings sind doch Strings mit einer festen Länge von 255 Byte + 1 Byte wieviel Byte belegt sind (oder nicht?). Somit würde ich auch schließen das ein Shortstring mehr speicher braucht als ein leerer String (= 4 Byte)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:13 Uhr.
Seite 2 von 2     12   

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