Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.447 Beiträge
 
Delphi 7 Professional
 
#5

AW: TDirectory.GetLogicalDrives

  Alt 17. Nov 2020, 13:21
Die AV tritt nicht auf, wenn ich eines der folgenden Dinge tue:
  • Die Liste wird direkt an ComboBox1.Items zugewiesen statt über den Umweg einer weiteren lokalen Stringliste
Deshalb schrieb ich ja auch:
Zitat:
Und diese Abfolge kann "irgendwann" zu 'ner Schutzverletzung führen.
Und nicht, dass es zwingend eine Schutzverletzung geben muss oder dass das gemachte grundsätzlich falsch ist.

Es ist mir im Laufe der Jahre immer wieder mal in Programmen sporadisch passiert, das so ein Effekt auftrat, auch wenn er bei genauer Betrachtung des Quelltextes, einschließlich dem aller aufgerufenen Methoden, nicht auftreten darf.

Da ist "irgendwo innendrinnen in den Tiefen des Genutzten" was nicht in Ordnung, aber keine Ahnung wo und warum und wieso und weshalb.

Weiß halt nur aus Erfahrung: Es kann zu einem Problem führen, es muss nicht.

Und: Eigentlich darf es zu keinem Problem führen.

Die schleierhaft verkürzte Liste ist auch ein Hinweis auf das Problem, nur das dort halt nicht alles Weg ist (= Schutzverletzung) sondern nur eine Teilmenge.

Hab' solche Probleme schon häufiger gehabt, die, soweit ich mich erinnere, immer irgendwo auch mit dem Aufruf von Windowsfunktionen im Zusammenhang standen.

Aus purer Delphisicht ist da nichts falsch, egal ob mit oder ohne zusätzlicher Stringliste. Grundsätzlich sind das Assign(Stringliste) und der Free dahinter vollkommen in Ordnung, aber leider manchmal doch irgendwie unergründbar falsch.

Geändert von Delphi.Narium (17. Nov 2020 um 16:24 Uhr) Grund: Schreibfehler
  Mit Zitat antworten Zitat