Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Nicht nachzuvollziehende EAccessViolation (https://www.delphipraxis.net/164905-nicht-nachzuvollziehende-eaccessviolation.html)

p80286 5. Dez 2011 17:47

AW: Nicht nachzuvollziehende EAccessViolation
 
Könnte sein, daß ich mich verlesen habe, aber nach einem clearItems ist Items leer, ein Items[0] springt also ins Leere.

Gruß
K-H

genesisv 5. Dez 2011 18:10

AW: Nicht nachzuvollziehende EAccessViolation
 
@p80286: Array wird bei Bedarf erhöht (siehe .Getitem).

Danke erstmal. Das mit der Stringlist im record war mir damals auch klar, dass es sich hier nicht um die hübscheste Lösung handelt. Passiert halt wenn der Code eig. fertig is, und man draufkommt, dass man jetzt noch eine Stringlist im Array benötigt. Ich werds mal - wie vorgeschlagen - auf eine Klasse umstellen. Ob das was nützt werd ich halt leider erst in ein paar Wochen wissen wenn keine Fehlermeldungen mehr gemeldet werden. Im Test - auch wenn ich's 1.000x über einen Testbutton aufrufe - wird nat. kein Fehler generiert, typisch.

Die Fehlermeldung is für mich trotzdem mehr als seltsam, aber kann sein, dass hier ClearItems einen Fehler generiert, der dann erst ein paar Zeilen später zum Tragen kommt - zumindest das kenn ich vom Delphi debuggen :)

DeddyH 5. Dez 2011 18:16

AW: Nicht nachzuvollziehende EAccessViolation
 
Das scheint mir auf jeden Fall eine gute Idee zu sein. Nebenher kann dann auch die Klasse entscheiden, was sie tun soll, damit entfallen dann Codes wie
Zitat:

Delphi-Quellcode:
if FV2Requests[i].RequestType = httpGet then
  HTTP.Get(FV2Requests[i].URL, FileStream)
else
  HTTP.Post(FV2Requests[i].URL, HTTPRequest, MemoryLst);

Einfach eine entsprechende Property für HTTP einführen und zuweisen.
Nebenbei: habe ich mich verlesen, oder machst Du sowohl im If- wie auch im Else-Zweig dasselbe, nämlich den gerade zitierten Code ausführen?

genesisv 5. Dez 2011 18:29

AW: Nicht nachzuvollziehende EAccessViolation
 
Nicht ganz, im if wird für httpGet eine MemoryList verwendet, im else ein Filestream. Die beiden Aufrufe für httpPost sind aber (momentan) identisch, das ist richtig. Aber gute Idee hier etwas Code an die Unterklasse auszulagern.

OK Leute, danke, wenn es nicht fruchtet meld ich mich eh wieder ;)

hoika 5. Dez 2011 20:15

AW: Nicht nachzuvollziehende EAccessViolation
 
Hallo,

ich würde das ganze mal mit FastMM4 testen.


Heiko


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

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz