Domino 9 und frühere Versionen > Entwicklung
Overflow! Fehler im LS
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