probleem met temp-files

Hi,

Ik ben een bezich met een progje en ik het hier voor een temp file aangemaakt maar hij wil deze niet verwijderen.
Ik doe het als volgt:

[code:1:ed9e006eee]
Dim tempfile As folderItem
//
tempfile=gettemporaryFolderItem.child("DFV-Themp-VualtCop")
//
If tempfile.exists=true then
tempfile.delete
end
//
[/code:1:ed9e006eee]
en bij het afsluiten van de prog staat dit nog is maar toch blijft die temp file altijd staan en begind mijn app te flippen als ik hem draai zonder eerst de DFV-Themp-VualtCop handmatich weg te goeien.

Heeft iemand een iedee? :s

Alvast Bedankt :slight_smile:

PS: ik heb het in RB geschreven

verwijder de tempfile als je je app afsluit, of er klaar mee bent...

of, anders, als je graag tempfiles laat slingeren, check of de tempfile bestaat bij t booten van je app, en verwijder m dan :slight_smile:

beetje crea denken kerel :slight_smile:

nog blijft die staan. ik snap het niet ik kan temp files wel aanmaken maar niet weggooien door RB hem te laten deleten. :cry: :cry: :cry:

je kunt vast wel files verwijderen, beter zoeken in de docs!

Kijk ik heb 3jaar ervaring met RB en ik weet hoe ik een bestand moet verwijderen dit is alleen de eerst keer dat ik in de tmp folder van OsX werk en daar werkt dat niet.

Maar ik zal er wel iets op vinden :slight_smile: ik maak wel een tmp folder in de suport folder van mijn progje :slight_smile:

zoiets:

[code:1:fec352d047]
Dim f as FolderItem
f= Volume(0).TemporaryFolder.Child("DFV-Themp-VualtCop")
f.Delete
[/code:1:fec352d047]

niet getest, ik gebruik immers geen RB, maar mij lijkt t zo makkelijk als dat

DAt hed ik ook al geprobeert: [code:1:62a9af4acc] Dim folder As integer Dim f AS folderItem

folder=500
Do
f=volume(0).child("tmp").child(str(folder)).child("DFV-Themp-VualtCop")
If f<>nil then
f.delete
exit
else
folder=folder+1
end
loop until folder=550
[/code:1:62a9af4acc]
deze code zoekt alle tmpfolders af maar nog wil die er niks in weg gooien maat ik heb het al opgelost door zelf een tmp folder te maken die die leegmaakt als die afsluit.

:slight_smile: toch bedankt.

Waarom een temp bestand verwijderen? Je macje verwijderd die zelf na X tijd en als je je prog start herschrijft ie zeer waarschijnlijk uw Tempfile...

ik ben zeer zeker dat Mac os X die tempfiles zelf verwijderd…

Zo maar een gokje: niet genoeg permissies?

Moet toch lukken hoor, maar je hebt twee functies die ongeveer hetzelde doen ... TemporaryFolder en GetTemporaryFolderItem

Grootste verschil is dat die laatste namelijk zelf een tijdelijk
bestand aanmaakt in de Temporary Folder.

De helppagina meldt hierover; [i:cae117a3ee]The GetTemporaryFolderItem
function [b:cae117a3ee]creates[/b:cae117a3ee] a FolderItem object in the current
Temporary Folder[/i:cae117a3ee]

Probeer maar eens:

[code:1:cae117a3ee]
fwrong = GetTemporaryFolderItem
msg fwrong.AbsolutePath
[/code:1:cae117a3ee]

uit dan zal je zien dat er door deze functie een temp bestand wordt
aangemaakt. Trouwens de Directory property van die FolderItem heeft
False aan terwijl het natuurlijk wel True zou moeten zijn.

Dus comme ça;

[code:1:cae117a3ee]
Dim f As FolderItem

f = TemporaryFolder.Child("RB http 0")
If f = Nil Then
Return
Else
If f.Exists Then
f.Delete
End If
End If
[/code:1:cae117a3ee]

of ook

[code:1:cae117a3ee]
Dim f As FolderItem

f = GetTemporaryFolderItem.Parent.Child("RB http 1")
If f = Nil Then
Return
Else
If f.Exists Then
f.Delete
End If
End If
[/code:1:cae117a3ee]

Maar zoals gezegd GetTemporaryFolderItem maakt zelf al een bestand aan,
dus die gebruik ik persoonlijk nooit. Altijd TemporaryFolder.

En zoals Reflex al aangaaf zou ik die tijdelijke bestanden opruimen bij het
opstarten van de applicatie.

Met een beetje experimenteren was je daar natuurlijk ook wel al lang
achtergekomen :stuck_out_tongue: :evil:

TLM

wel het werkt al beter dan het eerst deet :D hij gooit hem nog niet weg maar hij overschrijft hem al wel. bedankt allemaal

[quote:09a4de26ca="TheOne"Deltapps""]wel het werkt al beter dan het eerst deet :D hij gooit hem nog niet weg maar hij overschrijft hem al wel. bedankt allemaal[/quote:09a4de26ca] zoals ik zei... never wissen... gewoon telkens overschrijven...

[quote:7f169835dc="TheOne"Deltapps""]wel het werkt al beter dan het eerst deet :D hij gooit hem nog niet weg maar hij overschrijft hem al wel. bedankt allemaal[/quote:7f169835dc]

En welke foutmelding (FolderItem.LastErrorCode) zie je dan als je
probeert om de temp file te wissen?

TLM

wel geen fout melding. Het gaat om een test van onze nieuwe BinaryStream. Wij hebben een BinaryStream gemaakt als basis van een progje dat we aan het maken zijn (FireVualt). En om hem te lezen moest ik hem eerst in een tmp file steken en dan een nieuwe BinaryFile maken en dan trug de tmpfile lezen en schrijven. Dit ging perfect. Maar als hij de tmpfile niet verwijdert of overschrijft dan leest hij altijd de BinaryFile van de eerste keer dat die opende. Ik ben er namelijk achter dat als je GettemporaryFolder gebruikt deze file niet te overschrijven en/of te verwijderen(vraag me niet waarom). En met temporaryFolder doet hij dit wel. Dus hij overschrijft de files nu wel zoals het hoort en leest hij niet altijd dezelfde BinaryFile.