Solved

EAcessViolation Error

Posted on 1997-08-16
4
258 Views
Last Modified: 2010-04-03
I'am a italian beginner of delphi 2.0 and I have a problem:

Executing this command:
   WinExec('ARJ.EXE x -va -r -y C:\*.ARJ C:\PROVA',                                                                                              SW_MINIMIZE);
or this command:
   ShellExecute(0,'Open','ARJ.EXE','x -va -r -y :\*.arj c:\prova','',                                                                                                       SW_MINIMIZE);

the ARJ is executed correctly but appeat this error message:

Project Prova.exe raised exception class EAccessViolation with message
'Access violation at address 455C3A44. Read of address 455C3A44'. Process
stopped. Use Step or Run to continue.

Changing the parameters of ARJ the address violated changing.

What is the problem?
Can you explain a possible solution, please?
thank you.
Gianmario Da Vià
nodil@hotmail.com
0
Comment
Question by:nodil
4 Comments
 

Author Comment

by:nodil
ID: 1341622
Edited text of question
0
 

Expert Comment

by:chrb
ID: 1341623
What is comming after this command ?
0
 
LVL 3

Expert Comment

by:sperling
ID: 1341624
Please post some more code, there's nothing wrong with the snippets you've posted.

Regards,

Erik.
0
 
LVL 5

Accepted Solution

by:
ronit051397 earned 100 total points
ID: 1341625
If you process the arj command, and the next lines in your code refer to these files that were opened and/or to the compressed files then sometimes you have a problem becuase your delphi program continues to run while the arj process hasn't finished yet. Therefore you have to suspend the delphi program from stepping to the next code line until the arj process is finished.
For example if the next line is deleting *.arj then you'll get an error becuase these files are locked until all opening is done.
To suspend the delphi program create some loop, say with the
application.processmessages method, or use a timer.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
In a recent question (https://www.experts-exchange.com/questions/28997919/Pagination-in-Adobe-Acrobat.html) here at Experts Exchange, a member asked how to add page numbers to a PDF file using Adobe Acrobat XI Pro. This short video Micro Tutorial sh…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question