PDA

View Full Version : Building .exe's FAQ


kornalius
09-27-2006, 12:51 AM
Here is a little FAQ for building executables with PPL and the PIDE.</p>

Can I build an exe file for another platform?
Starting with version 1.02, executables can be built from the PIDE for the PC and PocketPC.</p>

The only restriction is changing the icon on the .exe file, it can only be done*from the PIDE. You can change the icon for the PC and PocketPC .exe's. We will look into implementing this feature on the PocketPC for a later version.</p>

Building an executable for the PC and the PocketPC from the PocketPC is also possible using the main PocketPC interface.</p>

How can I distribute my applications then?
Just like with any other compiler. You build an .exe for each platform and distribute two seperate versions. You can also just distribute the .ppc file if the target computers have the ppl.exe interpreter on them already. The .ppc is a safe encrypted bytecode file with no source code in it.</p>

I have more questions!
Please ask them here, we will be happy to answer them.</p>

David Chua
09-27-2006, 03:11 AM
Hi, this is David Chua. With your beta version, I could build exe for both pc and pocketpc on the pc side (PIDE) and there after transfer the pocketpc exe version to the pocketpc for execution and, I can also build exe in the pocketpc (PPL) however, I can't do these in the Pro version now. I understand that I've to wait for the V1.02 inorder to do these, is that right. By the way, I've downloaded the PPL V1.02 this morning and found that it doesn't work for makeexe still no *.rtl files error. Hope you have the full V1.02 ready soon.

mmtbb
09-27-2006, 03:39 AM
David,
The answer to the first question is NO. I thought I could do this also. However, the files don't run correctly. Here is how it is lined up:

1) To make a PC version of your program, you have to compile the code on the PC through the PIDE.

2) To make a Pocket PC version of your program, you have to compile the code on the Pocket PC. There are two ways to do this. You either move the code (ppl file) to the Pocket PC and then compile it; OR you open the PIDE, change the destination from PC to Pocket PC, connect your Pocket PC to the PC, and THEN make a EXE from the PIDE menu. It will then move create the correct EXE on the Pocket PC.

Next, the runtime error occurs because of a bug in v.1.01 while installing to the PPC. There is no Runtime folder or files created on the PPC and so it can't find them. Correct me if I am wrong, Alain, but this should be fixed in v1.02.

David Chua
09-27-2006, 04:25 AM
Hi,
I totally understand what you've explain and I've done with many tries with different condition. However, I was, first trying to compare it with the beta version which attracted me while on the other hand I was trying to compare it with EVC4 and CASL development tools. With the beta version of PPL, it works somewhat similar or close to those and closer to my personal taste, and that's what makes me in love with PPL. Cross compilling pocketpc application on the pc would require the &quot;machine/processor specific runtime library&quot; is where most other development tools are using, along with emulator (for some of them if not all). Anyway, the PIDE environment for makeexe pop up screen does provide the option, it was grey out because the runtime file (*.rtl) was not present in the runtime folder, this info can be found in the makeexe.ppl provided with the package.
Hope you can understand where I'm looking at.
Thanks and Regards.

mmtbb
09-27-2006, 04:53 AM
Once the install is fixed, When your PPC is connected and you choose the PocketPC as your target from the PIDE, the options won't be greyed out. PPL is great when running like it is supposed to. And it will very sonn :-)

David Chua
09-27-2006, 05:00 AM
Thanks. That's what I'm waiting for this while.
Good day.
Cheers.

kornalius
09-27-2006, 01:00 PM
Don't worry David we'll do everything to make sure make exe works again like normal in v1.02.

If there are still problems (which we don't anticipate, but life is life), we will issue an immediate patch for it promessed.

David Chua
09-27-2006, 03:29 PM
Kornalius,
Thanks for your advise. No worries, I've confident in you.
Cheers.

kornalius
09-27-2006, 05:06 PM
Hello all,

I had the update the FAQ.

WE NOW CAN BUILD EXE's FROM ANY PLATFORMS FOR ANY PLATFORM.

Yes, it's possible now. I figured out an easy way to force the compiler to think it's building on a different platform, therefore .dll paths and constants for the target platform are being used.

So this FAQ is pretty much obsolete but I will leave it for information.

MagNet
09-27-2006, 07:46 PM
YES AWESOME BUILDING FOR ALL PLATFORMS ON ONE
BRILL!

David Chua
09-28-2006, 01:49 AM
The V1.02 solved most of the problem (yet to test further). Now I can build EXE on both side however, there is still a problem on the desktop side: When running PIDE on the pc and select Target:Pocketpc for making EXE, the options are all grey-out with &quot;Desktop PC&quot; pre-selected as a result, the generated EXE in the pocketPC become intel binary version that doesn't run in the pocketpc, of course.
Please look into this. The rest are fine so far. Well, big thanks to the development team. At least I can start having fun.
Good day to all of you. Cheers.

kornalius
09-28-2006, 03:00 AM
Damn we've missed this one. Oh well, we will release a patch tomorrow don't worry.

David Chua
09-28-2006, 04:47 AM
Dear Kornalius,
Thanks, really like the way you work.
I've just discover another small problem: At the pocketpc side (running PPL) At File menu selection: for Edit, Run &amp; Compile when click on &quot;Select...&quot; the file dialog pops up with non text button (such as Cancell...) and labels, the buttons are just filled with small square boxes.
Cheers.

kornalius
09-28-2006, 04:05 PM
Are you using WM2005 by any chance? The is a folder called WM2005 with a file gsgetfile_2005.dll in it. Copy it over the \Program Files\PPL directory, delete \Program Files\gsgetfile.dll and rename gsgetfile_2005.dll to gsgetfile.dll.

This will fix your problem.

David Chua
09-29-2006, 12:41 AM
There isn't a file called gsgetfile.dll in the directory you mention (including all sub directories), anyway, I've copy the gsgetfile_wm2005.dll into PPL directory and rename it. Will test and let you know. By the way, the problem I had was with the pocketpc side and the pocketpc side has got an empty folder WM2005. What do I do with the pocketpc side?
Thanks and Regards.

David Chua
09-29-2006, 12:51 AM
Sorry, it was hiden (folder option). It's working now.
Thanks.

kornalius
09-29-2006, 02:32 AM
I will put this in the tech notes.

David Chua
09-30-2006, 03:17 AM
Kornalius,
I've install the V1.03 and seems like the issue on:When running PIDE on the pc and select Target:Pocketpc for making EXE, the options are all grey-out with &quot;Desktop PC&quot; pre-selected as a result, intel binary is generated in the pocketpc.
The rest of makeexe related issue seems OK.
Regards.

kornalius
09-30-2006, 02:29 PM
You are still having problems with 1.03? In the PIDE? Let me get this straight, you are selecting Target:PocketPC, make exe then Intel binary is selected, you cannot select the other options?

Can anyone else confirm that there is still problems with the makeexe on the PIDE?

David, do you have a C:\Program Files\Runtime\Runtimes folder created? There should be 6 files in it.

MagNet
09-30-2006, 03:00 PM
I have a little problem with the pocket pc exe creation from PC, the window close message doesn't work.

That's why the PPC version of my game doesn't have an icon :)
I will test further tho, to see if it wasn't caused by something else, I'll just make a simple program that's supposed to close itself and compile a pocket pc exe from the PIDE.

kornalius
09-30-2006, 03:53 PM
If you use compressed runtimes, there will be no icon on your .exe other than the regular PPL icon. You can only change the icon on non-compressed runtimes. We will investigate and try to resolve this issue. It's a known problem at this point.

David Chua
09-30-2006, 04:34 PM
Yes, there are six files inside runtime\runtime folder.

By the way, if I use PPL.EXE on the pc side it works fine with all options.

Regards.

MagNet
09-30-2006, 05:04 PM
If you use compressed runtimes, there will be no icon on your .exe other than the regular PPL icon. You can only change the icon on non-compressed runtimes. We will investigate and try to resolve this issue. It's a known problem at this point.

I didn't use compressed runtimes...
I just meant I had to make the PPC exe on the PPC where you can't select an icon because of the closing issue.

kornalius
09-30-2006, 05:55 PM
You mean, the Make EXE dialog on the PPC is not functionning properly?

Btw, you cannot change the icon on the PocketPC. There are not API functions from Microsoft to do this. You can only change the icon in the PIDE (for PC or PPC exe) on non-compressed runtimes.

David Chua
10-01-2006, 03:25 AM
One more time:
Everything else work fine (makeexe issue) except when running PIDE on the pc, select target:pocketpc, the makeexe pop up dialog box is grey out with desktop pc enabled. Can't select for other options.
Regards.

David Chua
10-02-2006, 10:07 AM
OK, these are the results from further investigation in this issue:
On the PC side, when performing Make Excutable with target:PocketPC selected, the pop up dialog for platform selection was grey-out. However, the preselected option depends on what was the previous selection. This is what I mean: If I previously Make Excutable with target:Desktop PC select, and selected Deskyop PC and this option will stay when the next time I switch target to pocketpc.
Nevertheless, with the grey-out preselected option did not work either, the error message is: &quot;Unable to run c:\Program Files\PPL\runtime\PPL.exe&quot;.
Please investigate. Thanks.

David Chua
10-02-2006, 10:16 AM
Another issue on this topic is:
The option provided for the pc side (running PIDE) is different from those provided for the pocketpc (running PPL).
The pc side shows:1. Desktop PC, 2. PocketPC (2000, 2002), 3. Windows Mobile (2003, 2005).
On the pocketpc side:1 PPC, 2. PPC2003, 3. Intel PC.
Is this correct?
My problem is that, if I create excutable on the desktp pc using pocketpc(2000,2002) option, the generated exe works in my Axim X51V (running WM2005) but If I select Windows Mobile 2005 when I make excutable on the pc side, the generated exe did not work for my Axim???
Will investigate further.
Regards.

MagNet
10-02-2006, 01:47 PM
You mean, the Make EXE dialog on the PPC is not functionning properly?

Btw, you cannot change the icon on the PocketPC. There are not API functions from Microsoft to do this. You can only change the icon in the PIDE (for PC or PPC exe) on non-compressed runtimes.

No, I mean that Pocket PC exes created in the PIDE are buggy, that's all.

kornalius
10-02-2006, 09:07 PM
Hi,

I just fixed the target:PocketPC options. I did some testing and everything is running fine now.

I will have Brad test it out for me as well before again making the mistake of saying it's fixed when it's not really.

Sorry about that guys.