ich habe in einem Datensatz einer SQLITE-DB mehrere BLOBs, in die ich jeweils ein File einlesen will.
Dazu muss ich die Fileinhalte natürlich erst einlesen und dazu wiederum einen Speicherbereich reservieren.
Da ich bei INSERT bzw. UPDATE() alle Bereiche gleichzeitig ansprechen muss, muss ich mir auch für jeden BLOB die zugehörige Adresse und dessen Größe merken, denn ich kann den Bereich (vermutlich!) nicht sofort nach jedem SetDatabaseBlob() wieder freigeben.
Ist das folgende kleine Testprogramm in diesem Zusammenhang unproblematisch oder muss ich dabei mit bösen Überraschungen wie Speicherlecks o.ä. rechnen?
Code: Alles auswählen
EnableExplicit
Dim *mem(5) ;Bereich für Blobs von 0..4
Dim size.i(5)
Define Nr.i
For Nr=0 To 4
size(Nr)=10*Nr + 5 ; irgendeine synthetische Speichergröße
*mem(Nr)=AllocateMemory(size(Nr))
Debug Str(*mem(Nr))+"---"+Str(size(Nr))
Next
For Nr=0 To 4
FreeMemory(*mem(Nr))
Next