Resolved PDFInclude 3.3.3 -> Error 471

ezequiel

Member
Hello, I downloaded PDFInclude 3.3.3 and used it on my programs.

Everything was great in my computer but when run on not-developer workstations I get Error 471 "This version of PROGRESS does not allow compiles."

I understand the problem is in instructions that require AppBuilder to run.

But I can't install it in every workstation, we have no as many licenses.

So, what can I do for use PDFInclude in workstations?

(Progress 9.1C, Windows 2003 server, Windows 7 and 8, 32 and 64 bits workstations)


Thanks in advance.
 

RealHeavyDude

Well-Known Member
You should only get this error message when you attempt to run procedure for which you don't have the R file in the propath. The AppBuilder markup is only relevant at design time in the AppBuilder. IMHO, either your propath is not correct or you did not compile the offending procedures.

Heavy Regards, RealHeavyDude.
 

Cringer

ProgressTalk.com Moderator
Staff member
As per RHD's comments, you need to compile the code and deploy that.
 

ezequiel

Member
Great.

I changed every ".p" call in PDFInclude to ".r", compiled all its ".p", and it works in the user's computers.

Thanks to both of you!
 

RealHeavyDude

Well-Known Member
You don't need to change the file extension in your source code. The AVM ( ABL Virtual Machine - e.g. prowin32.exe, _progres.exe ) will always look for a .r first and use it. You can control the behavior somewhat with the -q client start up parameter.

When -q is not used the AVM checks whether the .r is valid ( .p has been changed since .r was compiled ). If the .r is not valid then the AVM tries to compile the .p on-the-fly so that it is ensured that the latest version of your program gets executed. Which might be the case in your scenario and that's probably why you get the error message "does not allow compiles".

When -q is used the AVM does not check whether the .r is valid and use it right away. This is usually a good thing for production environment as the overhead of the check is eliminated - but it can be a bad thing in a development environment since you might want the AVM to pick up the latest version of your program anyway.

Heavy Regards, RealHeavyDude.
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
I could be wrong, but I am quite sure I have run runtime clients (e.g. Client Networking) without -q without errors, as long as "foo.r" exists in the client's propath for every "run foo.p" in the source. When foo.p is found in a propath search before it finds foo.r, it will throw an error that it isn't licensed to do compiles.
 

RealHeavyDude

Well-Known Member
I did not mention: But AFAIK the .r validity check is only performed when the .r and .p reside in the same directory. If the .p ( or .w or .cls ) resides in a directory that is further down the propath then the validity check is not performed.

Heavy Regards, RealHeavyDude.
 
Top