Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: LisaS am 29.08.03 - 08:35:04

Titel: Fehler mit Open Statement
Beitrag von: LisaS am 29.08.03 - 08:35:04
Hallo,

ich hab mal wieder ein kleines Problem.
Und zwar kommt immer der Fehler 'File already open'.
Warum? Ich close doch alles wieder.
Noch etwas wundert mich: Wenn ich mir die freefile-Werte im Debugger
anschaue dann sieht das so aus:
giFileNum1%    1
giFileNum2%    1
giFileNum3%    1
müßten daß nicht unterschiedliche Werte sein?

Code:
Sub PrependCont
   Dim dsp As gtDataRec

   'TempFile erzeugen und den neuen Daten-Satz einfügen
   gsWritestr=gvStart+"|"+gvEnde+"|"+gsKunde+"|"+gsBranche+"|"+gsPrjf+"|"+gsPrjt+"$"
   giFileNum1% = Freefile()
   Open gsWorkDir+gsTmpFile1 For Output As giFileNum1%
   Print #giFileNum1% ,gsWritestr
   Close giFileNum1%
   Open gsWorkDir+gsTmpFile2 For Output As giFileNum1%
   Write #giFileNum1% ,gvStart,gvEnde,gsKunde,gsBranche,gsPrjf,gsPrjt
   Close giFileNum1%
   
   'Vorhandene Daten-Sätze in die TmpFiles "anhängen"
   giFileNum1% = Freefile()
   giFileNum2% = Freefile()
   giFileNum3% = Freefile()
   
   Open gsWorkDir+gsFileName2 For Input As giFileNum1%
   Open gsWorkDir+gsTmpFile1 For Append As giFileNum2%  'Hier kommt der fehler!
   Open gsWorkDir+gsTmpFile2 For Append As giFileNum3%
   While Not Eof(giFileNum1%) ' Read until end of file.
      Input #giFileNum1%, dsp.SDat, dsp.EDat, dsp.Firma, dsp.Branche, dsp.Funktion, dsp.Task
      gsWritestr=""
      gsWritestr=dsp.SDat+"|"+dsp.EDat+"|"+dsp.Firma+"|"+dsp.Branche+"|"+dsp.Funktion+"|"+dsp.Task+"$"
      Print #giFileNum2% ,gsWritestr
      Write #giFileNum3% , dsp.SDat, dsp.EDat, dsp.Firma, dsp.Branche, dsp.Funktion, dsp.Task
   Wend
   Close giFileNum1%
   Close giFileNum2%
   Close giFileNum3%
   
   'TmpFiles nach Projekte kopieren
   Filecopy gsWorkDir+gsTmpFile1, gsWorkDir+gsFileName1
   Filecopy gsWorkDir+gsTmpFile2, gsWorkDir+gsFileName2
End Sub

Helft mir mal bitte auf die Sprünge......

Gruß
Hitcher
Titel: Re:Fehler mit Open Statement
Beitrag von: Performance am 29.08.03 - 09:13:47
einfach nach dem freefile den Dateideskriptor zuweisen, weil noch keine Deskriptoren  verwendet werden kommt logischerweise immer die 1 als Neuwert.


 giFileNum1% = Freefile()
 Open gsWorkDir+gsFileName2 For Input As giFileNum1%

 giFileNum2% = Freefile()
 Open gsWorkDir+gsTmpFile1 For Append As giFileNum2%  

 giFileNum3% = Freefile()
 Open gsWorkDir+gsTmpFile2 For Append As giFileNum3%  


cu
Titel: Re:Fehler mit Open Statement
Beitrag von: LisaS am 29.08.03 - 09:46:23
@Performance:

Danke, genau das war der Fehler.. ;D

Gruß
Hitcher