| |
|
|
Christof Neuß | ¡Hola Personas,
kann me alguien en dieser Fehlermeldung weiterhelfen?
Exception EAccessViolation en Modul ntdll.dll en 0004A1B. Zugriffsverletzung en Adresse 77A7A41B en Modul 'ntdll.dll'. Carta de Adresse 00000008
An el entsprechenden Programmstelle se una CSV-Expediente eingelesen y bearbeitet. Der Einlesevorgang se ejecuta encima "Blockread" y más encima "Char$".
Kann lo ser, dass el Expediente simplemente a groß es (hier son lo knapp 300 MB) oder a viele Zeilen enthält.
Hatte el ya veces alguien?
DANKE
Oh, äh...mi Signatur stimmt no mehr. Muss Todavía ändern. Das Programa wurde con XPROFAN X2 erstellt. |
|
|
| |
|
|
|
Jörg Sellmeyer | Hier wäre una Widergabe Deines Codes sicher sinnvoller gewesen. So una Fehlermeldung kann (tal vez) MS interpretar. Hast Usted el Zona groß genug definiert? Bist Usted con Char$ en Bereichsgrenze rausgegangen? |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 07.09.2011 ▲ |
|
|
|
|
Jörg Sellmeyer | Yo hab's gerade getestet. An el Größe liegt no. En me son außerdem ca 1,5 mio Zeilen en el Expediente. KompilierenMarcaSeparaciónDeclare Datei$,b#,n&
Datei$ = "grossedatei.csv"
Print Datei$
n& = FileSize(Datei$)
Dim b#,n& + 1
Assign #1,Datei$
OpenRW #1
print Blockread(#1,b#,0,n&)
Close #1
Randomize'fehlte noch
WhileLoop 10
Locate 3,1
print Char$(b#,Rnd(n&),1000)'hier könnte es knallen, weil keine Überprüfung, ob über die Bereichgrenze gelesen wird.
Wend
Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 07.09.2011 ▲ | |
|
|
|
|
Christof Neuß | ¡Hola Jörg,
en me sieht el ungefähr así de: KompilierenMarcaSeparaciónDatenDatei$=$ProgDir+"Daten\\"+CSV_Datei$+".CSV"
DateiLaenge&=FileSize(Datendatei$)
Dim Bereich#, DateiLaenge&
DateiLaenge&=@BlockRead(DatenDatei$, Bereich#, 0, DateiLaenge&)'Damit ist DateiLaenge& = Anzahl gelesener Zeichen
DatenZeilen$=Char$(Bereich#,0,DateiLaenge&)
DatenZeilen$=RemoveNull(DatenZeilen$) Lo voluntad mehrere CSV-Archivos nacheinander bearbeitet. 'RemoveNull' es una nProc, el Nuller y Sonderzeichen de el Expediente lejos. Welchen Grund hay, dass Usted el Zona con n&+1 dimensionierst? Muss una Signo mehr posible ser?
Zusatzfrage : Yo habe ahora el Rückmeldung de una Kunden, dass él el Fehlermeldung "Zu wenig Arbeitsspeicher" bekommt (CSV-Expediente es 660 MB groß). Bisher war Yo siempre el Meinung, el a) 4 GB Hauptspeicher ausreichen müssten y b) WindowsVista doch Plattenspeicher para Auslagern nutzt, si no genügend Hauptspeicher disponible es. Oder podría hay algo más ser?
Naja. Yo muss wohl una vez más a el Einleseroutine ran... Evtl. kann Yo, el Blockread sí aufteilen y así kleiner Stückchen einlesen. Como se lo wohl schwierig, el Ganze nachher otra vez correcto zusammen a conjunto.
DANKE sólo veces y a denne... |
|
|
| |
|
|
|
RGH | Lo wäre hilfreich, si una kurzen lauffähigen (!) Code con uno entsprechenden CSV-datei disponible stellst, con el al Problema nachvollziehen kann. Nach una Fehler, el Yo no en me nachvollziehen kann, kann Yo no suchen.
"Ein no reproduzierbarer Bug kann no gefixt voluntad!"
Saludo Roland |
|
|
| XProfan X2Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 09.09.2011 ▲ |
|
|
|
|
Christof Neuß | Hola Roland,
sí, es ya klar. Yo muss el Fehler sólo veces en me reproduzieren (puede). Und si yo entonces no weiterkomme, lugar Yo hier auch veces a la entsprechenden Code una.
Lo hätte sí ser puede (el war mi leise Hoffnung), dass alguien ähnliche Erfahrungen gemacht ha y z.B. igual dijo hätte "Klar, el kann no trabajo, como Archivos encima 500 MB nada con Blockread leerse puede." oder "Es liegt evtl. nada a el Dateigröße, pero a el enthaltenen Signo. Das Sonderzeichen Ü führt para Choque beim Einlesen." oder...
Trotzdem "Danke". Yo find's ya toll, qué hier alles a Unterstützung bekommt. |
|
|
| |
|
|
|
| Das Sistema muss el 660 MB auch al Stück vorrätig haben. Selbst si la verfügbare Speicher viel größer es, sagt el no de, dass así una großes freies Stück existiert. En así Riesendateien empfiehlt lo, ellos stückchenweise abzuarbeiten. |
|
|
| |
|
|
|
RGH | Hier kann Yo Franco sólo zustimmen:
Wenn ya el Expediente binär gelesen voluntad se: Einen kleineren Zona wählen y el Expediente en uno Bucle en kleineren Happen einlesen y bearbeiten. Como una CSV-Expediente aber una Textdatei, sería Yo vorschlagen, el Expediente con Assgn/Reset a abierto y Entrada# a lesen y a bearbeiten.
Eigentlich Yo el DIM-Befehl así programmiert, dass él una ordentliche Fehlermeldung ausgibt, si la angeforderte Speicher no previsto voluntad kann. Lo son offensichtlich aber Situationen, wo me Windows con un Programmabbruch zuvorkommt.
Aunque kann el Windows-Meldung auch otro Ursachen haben.
Saludo Roland |
|
|
| XProfan X2Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 09.09.2011 ▲ |
|
|
|
|
| Jo,
Christof Neuß (07.09.11)
Carta de Adresse 00000008
sieht ya verdächtig z.B. después de uno gescheiterten String- o. Speicheroperation de. Z.B. a GlobalAlloc schreibt M$: "If the function fails, the volver value is NULL".
Übrigens... meint Windows con "Schreiben de Adresse" etwa "Schreiben a Adresse" oder "Lesen de Adresse"? Puedo no reproduzieren como Yo grad sólo Win7 bajo el Fingern habe y el Meldungen hay algo nochkomischer son.
@Christof: Diese nProc el Usted como nutzt... si möchtest entonces kann Yo Usted el otra vez deutlich optimieren sodass ellos z.B. otra vez 5 veces más rápido es. |
|
|
| |
|
|
|
| RGH (09.09.11)
"Ein no reproduzierbarer Bug kann no gefixt voluntad!"
Nichtmal por Zufall? |
|
|
| |
|
|
|
E.T. | |
|
| Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 10.09.2011 ▲ |
|
|
|
|
| Gib Usted una Ruck! |
|
|
| |
|
|