Har gjort en liten application som ligger och väntar på en text fil. Hej Det är en mycket kort fråga från en iofs rätt stor tabell, ca 200000 rader.. Hej Igen Phu.. Ber om ursäkt för att jag svär för mycket.... En lösning på ditt problem kan kanske vara att göra en fileCopy Hej Äntligen tror jag mej veta var det smäller... Om jag remmar bort nedanför och raden jobhandle så går allt bra men om den är aktiverad smäller det..Åtkomstöverträdelse
Programmet fungerar jämt när jag testar men vid båda två demonstrationerna smäller det... naturligtvis..
Programmet klarar att läsa in text filen och behandlar den, därefter ställer den en sqlfråga, får svar och nånstans här pajar programmet.
Felet är obegripliga Åtkomstöverträdelse på adress XXXXXXX
åtmindstånde för mej..
När jag startar programmet igen fungerar allt normalt och fint igen.
Vad kan orsaka felmeddelandet?
Mvh
RickardSv: Åtkomstöverträdelse
Verkar som du har problem med rättigheter.
Eller så åker du ut i den "binära rymden"
Är det en databas hur ser SQL frågan ut ?
undrar
SvenSv: Åtkomstöverträdelse
Select InvoNo FROM ProdTr where InvoNo = '" + fakturanr + "'")
där fakturanr fås från text filen som läses in.
Men eftersom felet bara uppstår ibland, väldigt sällan känns det som att det är någon form av fildelningsfel eller nåt..
filen skapas av ett system och jag använder en timer som kollar om filen finns en gång i sekunden, risken finns ju att jag läser in den innan systemet har släppt den helt.. däför kollar jag om closehandle på filen är lika med 0 och om det så kör jag wait i 1 sekund.
Felmeddelandet lyder exakt...
Undantag: Åtkomstöverträdelse (0xc0000005), Adress: 0x40311c99
Hajar ingenting.. Mer frågor!
Mvh
Rickard Sv: Åtkomstöverträdelse
>filen skapas av ett system och jag använder en timer som kollar om >filen finns en gång i sekunden, risken finns ju att jag läser in den >innan systemet har släppt den helt.. däför kollar jag om closehandle >på filen är lika med 0 och om det så kör jag wait i 1 sekund.
Måste vara här det dj.....as .
Svårt att råda men du skall absolut lägga in ett DoEvents i Timern
Du måste på något sätt 100 % försäkra dig om att det är
ok köra vidare, lägg även in ett DoEvents vid wait sekvensen.
Tror !
SvenSv: Åtkomstöverträdelse
Har tänkt vidare på ditt problem.
Förmodligen har du någon form av Loop som
läser in textfilen,där skall du lägga in ett DoEvents.
Testa också att lägga in DoEvents direkt efter SQL frågan.
Spånar
SvenSv: Åtkomstöverträdelse
Är tillbaka från kunden nu och sitter och test kör...
Under dagen har jag lagt in typ 100 wait och 100 DoEvents på all jävla skit som finns...
Det jag märkte är att beroende på var jag placerar det kanske inte fiffigaste men effektiva kill för att bli av med filen så smäller det olika tidigt..
Tyvärr så går det ju skitbra och naturligtvis helt utan fel när jag sitter och kör på min maskin (Win 2000 pro celeron 300mhz 200mb minne) som inte är så jävla toppen i alla andra avseenden..
Kunden kör nått dell celeron 500mhz men NT4 SP6
Skulle du kunna titta igenom lite kod om det går att ladda upp nånstans?
Helt nästan desperat eftersom jag inte själv kan få fram felet..
Mvh
RickardSv: Åtkomstöverträdelse
Fick ett tips på microsofts sidor om att kompilera programmet på den plattformen som det ska köras på..
Kan det vara fiffigt?
Tänkte testa det imorgon, nu får det vara nog för idag..
Är DoEvents prestanda sänkande eller nåt sånt för nu har jag satt det på typ varannan rad.. då j....ar om det inte funkar imorgon.
Tycker..
RickardSv: Åtkomstöverträdelse
på den fil du skall öppna för läsning.
Öppna sedan den kopierade filen och läs från den.
Försöker du kopiera en öppnad fil så får du ett error.
Gör en timer som var n:te millisekund kopierar filen. Slå av felhanteringen först i timer-funktionen.
sist i timerfunktionen kollar du om err.number = 0 och om det är det kan du ställa din sql-fråga.
hoppas du blir hjälpt av detta !
/peterhSv: Åtkomstöverträdelse
Håller med peterh du måste hitta på någon
Error hantering som ger dig besked var det strular.
Om jag förstått rätt så får du inte fram felet i
IDE Design körning, Om du får fram det där så blir det
genast lättare att analysera.
DSSv: Åtkomstöverträdelse
Crpe32.dll är en crystal reports dll som jag använder för att dra igång en rapport som jag skickar in ett par parametrar i, sen gör den lite sqlfrågor också..
Det konstiga är att den här delen är orörd sen den gamla versionen och har funkat hur bra som helst tidigare.
På en annan maskin som det smäller på klagar debuggern i Visual C++ på dll filen gdi32.dll Unhandled exeption Access Violation.
Den dllen finns med i dependency walker om jag tittar på filen crpe32.dll
If typ = "1" Then
fileName = App.Path & "\" & "LKvitto.rpt"
End If
PEOpenEngine
If typ = "1" Then
driverName = "Star SP212 (Receipt)"
PrinterName = "Star SP212 (Receipt)"
setprinter = PESelectPrinter(1, driverName, PrinterName, 0, 0)
DoEvents
End If
If typ = "2" Then
driverName = ""
PrinterName = ""
End If
-----> jobhandle% = PEOpenPrintJob(fileName)
DoEvents
Declare satsen för PEOpenPrintJob som ligger i en egen modul..
' Open and close print job (i.e. report)
' --------------------------------------
Declare Function PEOpenPrintJob Lib "crpe32.dll" (ByVal RptName$) As Integer
Declare Function PEClosePrintJob Lib "crpe32.dll" (ByVal printJob%) As Integer
Men varför??? och just den här veckan av alla möjliga på året...
Filename är dimmad som en string kan det vara grejen och vad skulle den vara istället?
Mvh
Rickard