1

I need to write an app that reads a config file with info on the menu bars it needs to create.

Normally, I'd just use java, but I need the application to have the least run-time dependencies possible, this includes not forcing the user to download anything, even JRE, let alone something like NET Framework.

So I need something that can compile to an EXE (windows only for now), and that will allow me to CODE the GUI, so I can dynamically create it from my config.

BTW: something like C++ is a bit too low level, all I need is to create menus, and display HTMLs in a panel.

2
  • 2
    I suggest you edit your title - there's a difference between "has a runtime" and "interpreted". Commented May 15, 2009 at 6:39
  • 1
    You say that C++ is too "low level", but there is not much in between. Designing a GUI in C++ isn't that hard really, and it would solve your dependency issue. Commented May 15, 2009 at 6:42

8 Answers 8

6

How about wxPython together with py2exe? There is a nice tutorial on how to do it here.

Sign up to request clarification or add additional context in comments.

1 Comment

Agreed, I suggested that or GCJ (for Java).
3

If Java's too high-level and C++ too low-level, there ins't much in-between. Maybe Delphi?

4 Comments

The problem with java is not that it's too high level, the problem is it requires JRE to be installed, and my client doesn't want any dependencies.
A bit heavyweight for displaying a few menus and HTML, isn't it?
What's lighter -- if C++ (and therefore presumably C) are deemed "too low level"?
Turbo Explorer (Free Delphi) or Lazarus But I would go with Delphi in this case because it has some widget to instantiate MSIE for your html.
3

I wouldn't totally write off using Java and/or Python for a few reasons.

1) py2exe can compile your Python code to an exe.

2) GCJ can compile your Java code to an exe.

3 Comments

+1 for GCJ, if the only problem is the JRE distribution, then maybe the answer is cutting it out of the loop, not switching to an entirely different stack.
PyInstaller can be an even better way than py2exe (particularly if you use PyQt/Qt, for which it offers special support); but (like, I believe, GCJ) it's still going to make bigger EXEs than Delphi.
I've tried GCJ before. Regrettably, it still doesn't compile swing applications.
2

Delphi is best chose for you. Because Delphi compile source code into native x86.

Comments

2

Unless you have serious reasons to avoid interpreted languages, I would suggest you better look into ways of packaging or compiling interpreted scripts because doing this will likely reduce your learning and development time.

I would write a simple GUI in Tcl/Tk, and then package it as a Starpack.

ActiveState provides a distribution (ActiveTCL) and a decent editor (Komodo Edit), and it is fairly easy to get simple GUIs going with Tk. Check out TkDocs for some hand holding.

Once you're done, you can package your code, a Tcl runtime, a database, and a virtual filesystem, all into a single executable that you can easily distribute.

Comments

1

Earwicker is right. You can use HTA: http://www.interclasse.com/scripts/htanotepad.php

But if you know C++, then creating this type of an application is actually very easy with Visual C++. Use MFC, and statically link everything. You can draw the menu in the resource editor, and attach events to the menu items. I wouldn't use HTML if I were you. Just use regular Windows controls. But if you're really set on using HTML, you can embed a Browser control in the formview.

1 Comment

I need to create the menus dynamicaly from the file I read, so C++ would mean i'd have to read the file, parse it, and hand code the menu-generation, I can't drawn it, since it's only known at run-time. BTW: I strictly need to use MenuBars, can't use some other type of menus.
1

Have you considered D ? It has a syntax that is like a mixture of Java, C++ and Python with the ability to make native windows apps. The tutorials on dprogramming.com are great to get up and going with the language. For quick GUIs you'd be interested in The D Forms Library and the Entice Designer.

Here are some short video tutorials to get up and running with Entice.

Alternatively, have you tried Qt & Qt Creator? It takes a lot of the hair pulling out of C++ Programming and it's also cross-platform.

2 Comments

I'm giving both your suggestions a try, and as I go along, I'll decide which one I'll keep. :)
Is there a free version that allows to link everything into one QT binary? Otherwise QT is a ... runtime.
0

You say:

all I need is to create menus, and display HTMLs in a panel.

A lot like a Web browser, then. If it's going to run on Windows, then the user has IE. Why not use IE to do all the work for you?

You can make something a lot like an .exe with IE, called an .hta:

http://msdn.microsoft.com/en-us/library/ms536496(VS.85).aspx

3 Comments

The menus must be [not realy by my own choice] menuBars. Also, handling the menu generation in HTA seems a little far too compliated, since i need to read and parse the file as well.. I haven't looked in into TOOOO much detail, but that's my first-hand impresion
Can you decide the format of the "config file" for the menus? How about making the format be HTML?
Nope, not up to me. Even though I could parse it, an create an HTML with some other tool, the client insist on a menubar (very much a windows one)

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.