EAcessViolation Error

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
nodilAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

nodilAuthor Commented:
Edited text of question
0
chrbCommented:
What is comming after this command ?
0
sperlingCommented:
Please post some more code, there's nothing wrong with the snippets you've posted.

Regards,

Erik.
0
ronit051397Commented:
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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Delphi

From novice to tech pro — start learning today.