Jump to content
Excelsior Forums
Sign in to follow this  
acewang

How do i complile the JMF

Recommended Posts

1) Make the complete JMF installation into a separate directory (during installation clear the check box "Move DLLs to Windows/System directory")

You get? the following directory structure:

<JMF dir>

? \bin

?  \doc

?  \lib

All you need resides in the "lib" subdirectory

2) make a copy of the lib directory. Let us call it

? ? <JMF dir>\jmfresources

3) remove all jars from the \jmfresources

? ?Now it contains only JMF property files and native method DLLs

4) Using the JET Control Panel, add the following entries to classpath

<JMF dir>\lib\customizer.jar

<JMF dir>\lib\sound.jar

<JMF dir>\lib\jmf.jar

<JMF dir>\lib\mediaplayer.jar

<JMF dir>\lib\multiplayer.jar

<JMF dir>\jmfresources

(five jars and one directory)

5) Compile your app

NOTE: when creating installation, do not forget to add

? <JMF dir>\jmfresources

to the package in JetPackII.

Share this post


Link to post
Share on other sites

I just did some testing (on Windows XP) and I absolutely need the .dlls installed in the Windows/System32 directory to get things like mp3 to work. Did you actually uninstall JMF before you tested this procedure?

I saw no connection (and neither did JET obviously) between the classpath entries of the 'lib' and 'jmfresources' and the .dlls. I imagine that something is looking specifically in the Window/System32 folder, so how could this possibly work?

In my findings, the only way to get this to work is to provide a post installation of the .dlls to the Windows/System32 directory. In fact, this is what I did to test this:

- I installed the JMF without the option to copy the .dlls to Windows/System32.

- I copied the .dlls to a separate folder.

- I uninstalled JMF, and deleted all JMF System variables.

Then, I tested these instructions (from JET and from NetBeans), and I kept getting "unrecognized file format" errors from the jvm. To remedy this, I simply copied all of the .dlls (from my separate folder) to the Windows/System32 folder and viola! It works.

Someone please clarify if I missed a step, or if there was some 'understood' step in this procedure because I would like to get this to work without installing JMF.

Thanks,

JR

Share this post


Link to post
Share on other sites

What would the project file show? That the classpath entries are incorrect?

The point is, you need the .dlls in the Windows/System32 directory to make this work. In order for the 'classpath' method to work, you would have to modify how all jars are accessing the .dlls...

Unless there is some ambiguous translation that happens in JET, I don't see how this will work.

Can you upload a project that works with this method?

JR

Share this post


Link to post
Share on other sites
Please paste here the JET project file (.prj) created by the JET Control Panel after you have made steps 1-5

What would the project file show?

Just do it.

If you're shy, you can mail the project to the Support Dept.

B)

Share this post


Link to post
Share on other sites
This is pointless...

This is called "customer does not cooperate"

B)

I'll explain what's the point. We've checked the last two support cases you filed some time ago and found that they were caused by inaccuracies or bugs in your code and configuration files. In fact, we spent much time to help you debug your applications. Those stories deserve publication in the "Support's Fairy Tales" topic of this forum (without names, of course). So an extra sanity check definitely makes sense. Hope for your understanding....

--------------

Ok, let's make an optimistic assumption that your project file is correct.

I just did some testing (on Windows XP) and I absolutely need the .dlls installed in the Windows/System32 directory to get things like mp3 to work

Try to remove the DLLs from System32 and copy them to the directory where the compiled executable resides.

Let us know the results.

Share this post


Link to post
Share on other sites

> Try to remove the DLLs from System32 and copy them to the directory where the compiled executable resides.

And here in lies the missing piece of information that was not in the original instructions: The dlls need to be in the same directory as your executable jar.

So, it was pointless to upload my project file (which was my point  ;D) because this would relate to how the .dlls are included with JetPack. If anything, you should have asked for my JetPack project file (.jpn).

> This is called "customer does not cooperate"

First of all, what you were asking made no sense. Second, telling a customer to "just do it" is not a good practice, and I found it offensive. I have the right to not cooperate at this point. I also reported the issue because I did not know your were an employee.

> We've checked the last two support cases you filed some time ago and found that they were caused by inaccuracies or bugs in your code and configuration files.

I don't understand what relevance this has to the thread, but now I need to clear this up...

As a customer with a professional license for Windows and Linux, I reported what I thought was a problem with JET because my .jar would work fine by itself, but crash as a JET executable. Eventually, it turned out to be a memory leak that I fixed without your help from what I recall. That was it...don't exaggerate.

I think we should stay on topic if we want to accomplish anything, agreed? I was simply responding to Dmitrys request to help with the thread...

JR

This is pointless...

This is called "customer does not cooperate"

B)

I'll explain what's the point. We've checked the last two support cases you filed some time ago and found that they were caused by inaccuracies or bugs in your code and configuration files. In fact, we spent much time to help you debug your applications. Those stories deserve publication in the "Support's Fairy Tales" topic of this forum (without names, of course). So an extra sanity check definitely makes sense. Hope for your understanding....

--------------

Ok, let's make an optimistic assumption that your project file is correct.

I just did some testing (on Windows XP) and I absolutely need the .dlls installed in the Windows/System32 directory to get things like mp3 to work

Try to remove the DLLs from System32 and copy them to the directory where the compiled executable resides.

Let us know the results.

Share this post


Link to post
Share on other sites
> Try to remove the DLLs from System32 and copy them to the directory where the compiled executable resides.

And here in lies the missing piece of information that was not in the original instructions: The dlls need to be in the same directory as your executable jar.

It's fine that the issue has been resolved. Now you can simplify the deployment procedure for your application.

However,  I guess the problem has another root cause. It's not about the relative placement of the compiled executable and DLLs, it's rather about JMF itself. To make things clear, please do the following:

1) remove the DLLs from the directory where the compiled executable resides

2) place them into a separate directory (not the same as the executable). Let us call the directory FragileJMF.

3) add the FragileJMF's absolute path to the PATH env. variable

4) run your app

Does it work ok after that?

Share this post


Link to post
Share on other sites
First of all, what you were asking made no sense. Second, telling a customer to "just do it" is not a good practice, and I found it offensive.

Don't take it out of the context. "just do it" was followed by a smile - I meant the known Nike's slogan. I must have missed the quotation marks for the first time.

B)

I reported what I thought was a problem with JET because my .jar would work fine by itself, but crash as a JET executable. Eventually, it turned out to be a memory leak that I fixed without your help from what I recall. That was it...don't exaggerate.

Don't understate. Seemingly you completely forgot the other support case. Shall I forward the correspondence to you?

I think we should stay on topic if we want to accomplish anything, agreed?

Ok. World peace.

B)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×