Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Eigene StringList Unit will nicht so recht (https://www.delphipraxis.net/124609-eigene-stringlist-unit-will-nicht-so-recht.html)

lbccaleb 21. Nov 2008 20:29


Eigene StringList Unit will nicht so recht
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hey Community,

Ich hoffe Ihr könnt mir helfen!
Ich habe mir eine eigene unit gebastelt, aus der Classes Unit, die nur eine Stringlist enthalten soll! Compilieren tut er Sie, aber beim ersten hinnzufügen eines Strings wird ein Fehler erzeugt! Und ich finde den Grund dafür nicht. Vllt kann ja mal einer ein Auge drauf werfen ;-)

Falls einer auch für die ein oder andere Funktion noch eine verbesserung hat, kann mir das auch gerne mitteilen!

Unit unten angehängt!

Danke schon mal im vorraus...

Edit1:

Achja "SysUtils_Fragment" ist nur für die Funktion Format!

taaktaak 21. Nov 2008 20:31

Re: Eigene StringList Unit will nicht so recht
 
Gibt's da keinen Konstruktor?

lbccaleb 21. Nov 2008 20:33

Re: Eigene StringList Unit will nicht so recht
 
Die Liste erzeug ich doch in meinem Programmcode!!

Oder bracuh ich trotzdem noch einen eigenen Konstruktor??

taaktaak 21. Nov 2008 20:34

Re: Eigene StringList Unit will nicht so recht
 
Hmm, in welcher Zeile knallt es denn?

// also, ich kann nicht erkennen, dass
Delphi-Quellcode:
FList^[Result]
erzeugt wurde. Worauf zeigt FList^ denn?

lbccaleb 21. Nov 2008 20:37

Re: Eigene StringList Unit will nicht so recht
 
Sagt er mir ja nicht...


bekomme die Meldung:

Zitat:

---------------------------
Application Error
---------------------------
Exception EAccessViolation in module mp3player.exe at 00003EAA.

Access violation at address 00403EAA in module 'mp3player.exe'. Read of address 80808078.


---------------------------
OK
---------------------------
Und FastMM4 sagt mir:
Zitat:

---------------------------
mp3player.exe: Memory Leak Detected
---------------------------
This application has leaked memory. The small block leaks are (excluding expected leaks registered by pointer):



13 - 20 bytes: EAccessViolation x 1, TSmallStringList x 1, Unknown x 1

21 - 36 bytes: AnsiString x 1

85 - 100 bytes: AnsiString x 1



Note: Memory leak detail is logged to a text file in the same folder as this application. To disable this memory leak check, undefine "EnableMemoryLeakReporting".


---------------------------
OK
---------------------------

lbccaleb 21. Nov 2008 20:39

Re: Eigene StringList Unit will nicht so recht
 
// also, ich kann nicht erkennen, dass
Delphi-Quellcode:
FList^[Result]
erzeugt wurde. Worauf zeigt FList^ denn?[/quote]

Delphi-Quellcode:
  private
    FList: PSmallStrings;

taaktaak 21. Nov 2008 20:43

Re: Eigene StringList Unit will nicht so recht
 
Also, das ist der Zeiger selbst, aber ja noch nicht der Speicherbereich in dem der String abgelegt werden soll, ich vermisse da ein New() oder Getmem()

lbccaleb 21. Nov 2008 20:48

Re: Eigene StringList Unit will nicht so recht
 
Mhh aber das ist doch ein array?? Also FList! Brauch ich dafür nen Speicherbereich?

stoxx 21. Nov 2008 20:58

Re: Eigene StringList Unit will nicht so recht
 
Zitat:

Zitat von lbccaleb
Mhh aber das ist doch ein array?? Also FList! Brauch ich dafür nen Speicherbereich?


für jeden selbst definierten Pointer brauchst Du das ..
MaxInt Div 16 wird ein recht großes "festes" Array .. bist Du sicher, dass Du keine dynamischen Array verwenden wolltest?
Ein dynamisches Array wäre schon automatisch ein Pointer ...

taaktaak 21. Nov 2008 20:58

Re: Eigene StringList Unit will nicht so recht
 
Hmm, bin da wohl auf dem Holzweg. Sorry, du übergibst ja eine Stringadresse. Aber ... Der Zeiger ist vom Typ "PSmallStrings" - ist das nicht falsch, wenn du einen "String" übergibst.

// und im Hintergrund schmunzeln die mitlesenden "Experten" :stupid:


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

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