Archive: System::Int64Op usage Error


System::Int64Op usage Error
Hi all,
I am trying to get a handle on using the system.dll to perform the following math operation. The script will compile with no problems when the following lines are active:

System::Int64Op 30*86400 ;30 day limit in secs
Pop $2

MessageBox MB_OK "$2"

but I get a windows error when I try to test the installer. If anyone has seen this and knows of something I forgot to do ( like add a reference ) please let me know.

Thanks,
JP


There are spaces in the usage line in the readme between the two argument and the operator. It should be in your line too. The line should be:

System::Int64Op 30 * 86400

That number fits well into a normal integer btw.


[edit] kichik solved part of you problem just a sec quicker ;) [/edit]

To get rid of the error message add this line before the system call "Push $2". I tried this and no error was produced.

Vytautas


The Windows error message was probably caused because there were missing arguments and System.dll either didn't check for it or got them from some other variables that were pushed before. Your additional Push must have given System.dll anoter argument and somehow caused the crash but it is not a solution because the syntax is still wrong.


Thanks again kichik ( and Vytautas ),
Your fix worked. I also went with the regular int value as you suggested. I appreciate the feedback, it's been quite helpful as i try to learn this stuff on the fly...