Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#8

Re: array of String als Result einer Funktion

  Alt 13. Dez 2003, 19:19
Setlength musst du nicht explizit aufrufen.
Also deine Codeschnipsel sind entweder etwas unvollständig, oder der Fehler steckt in der Klasse Query. Also ich weiß nicht, warum du Query.Query zuweist.
Die SetLength kannst du weglassen, da nur ein Zeiger auf das erste Element des Arrays übergeben wird. Hierin könnte ein weiteres Problem liegen. Die Variable Data ist nur lokal. Es kann also gut sein, dass du den Speicherbereich des Arrays erstmal in aller Ruhe freigibst und anders verwendest. Ich gehe mal davon aus, dass die Klasse Query die Funktion aufruft und das Ergebnis von TDBQuery.Query in ihrer Variablen Query speichert. Wie gesagt, genau genommen wird nur ein Zeiger gespeichert und es ist egal was in dem entsprechendem Speicherbereich steht.
Du musst Data einfach nur etwas globaler definieren und dafür sorgen, dass dieses Array garantiert erst freigegeben wird, wenn du mit der Auswertung fertig bist.
  Mit Zitat antworten Zitat