Domino 9 und frühere Versionen > Entwicklung

Overflow! Fehler im LS

(1/2) > >>

LisaS:
Hallo,
ich hab mal wieder ein Problemchen.....
Und zwar möchte ich die Anzahl der Reihen in einem Text-Dokument
ermitteln

Bei der Ausführung von folgendem Script, kommt der Fehler Overflow.


Golbal:
Dim giZ As Integer
Dim giFileNum1 As Integer
Dim gsWorkDir As String
Dim gsFileName2 As String

Sub DataCount
   giZ=0
   giFileNum1% = Freefile()
   Open gsWorkDir+gsFileName2 For Input As giFileNum1%
   Do Until Eof(giFileNum1%)
      giZ=giZ+1   
   Loop
   Close giFileNum1%
End Sub

Hat jemand eine Ahnung, warum das nicht Funzt.
Gruß
Hitcher

koehlerbv:
Kann es sein, daß Du die Grenzen von Integer sprengst ?
Dann muß Du statt dessen Long nehmen ...

HTH,
Bernhard

ata:
... das wäre auch mein erster Verdacht

ata

LisaS:
@all:
Ok, jetzt ist aus giZ(Integer) glZ (Long) geworden
und der Fehler ist weg, dafüf kommt der Agent nicht mehr
aus der Sub Routine DataCount nicht mehr raus. Ich glaube
es liegt irgendwie an der Unti/loop-Schleife.
In meinem Test-File sind übrigens nur drei Zeilen.
Hier mal mein Kompl. Script in der Teilmaske:

Declarations:
Dim gDB As NotesDatabase
Dim gUIDoc As NotesUIDocument
Dim gDoc As NotesDocument
Dim gItem As NotesItem

Dim gsFileName1 As String
Dim gsFileName2 As String
Dim gsWert As String
Dim gsWorkDir As String
Dim gsUnid As String

Dim giFileNum1 As Integer
'Dim giFileNum2 As Integer
'Dim giFileNum3 As Integer

Dim glZ As Long
Dim gvRTitem As Variant

Sub Postopen(Source As Notesuidocument)
   Dim workspace As New NotesUIWorkspace
   
   Set gUIDoc = workspace.CurrentDocument
   Set gDoc = gUIDoc.document
   
   gsUnid = gDoc.UniversalID
   gsWorkDir="c:\"
   gsFileName1 = "projekte1.txt" 'Für den Export nach Word
   gsFileName2 = "projekte2.txt" 'Für die Berechnug der Anzeige in dem Dokument
   gsTmpFile1="tmpprojekte1.txt"
   gsTmpFile2="tmpprojekte2.txt"
   Detach
   DataCount
End Sub
-----------------------------------------------------------------------------------------------------------
Sub Detach
   Dim fileCount As Integer
   Set gDB = gDoc.ParentDatabase
   Set gDoc = gDB.GetDocumentByUNID(gsUnid)
   Set gvRTitem = gDoc.GetFirstItem( "ObjCont" )
   If ( gvRTitem.Type = RICHTEXT ) Then
      Forall o In gvRTitem.EmbeddedObjects
         If ( o.Type = EMBED_ATTACHMENT ) Then
            fileCount = fileCount + 1
            gsWert=fileCount
            gsDest=gsWorkDir+"projekte"+gsWert+".txt"
            Call o.ExtractFile ( gsDest )
            Call gDoc.Save( True, False)
            gDoc.SaveOptions = "0"
         End If
      End Forall
   End If
End Sub
--------------------------------------------------------------------------------------------
Sub DataCount
   glZ=0
   giFileNum1% = Freefile()
   Open gsWorkDir+gsFileName1 For Input As giFileNum1%
   Do Until Eof(giFileNum1%) ' Warum kommt der Agent hier nicht raus?
      glZ=glZ+1  
   Loop
   Close giFileNum1%
End Sub

Gruß
Hitcher

eknori:

--- Zitat ---Do Until Eof(giFileNum1%)
      giZ=giZ+1  
   Loop

--- Ende Zitat ---

was du da gebaut hast, nennt man eine endlosschleife.

wie willst du denn jemals an das Ende der Datei kommen, wenn du überhaupt keine zeilen der Datei einliest  ;D

Dim text As String, fileNum As Integer
fileNum% = FreeFile()

Open "c:\config.sys" For Input As fileNum%
giZ=0
Do Until EOF(1)
   Line Input #1, text$
   giZ=giZ+1  
Loop
Close fileNum%

ich glaube, damit kommst du eher ans Ziel

eknori

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln