|
Hi, I've got stuck on a problem with the Java Native Interface, wondering if anyone has a solution to this one! I'm trying to use JNI to allow my project to start up the JVM then do some simple method calls for a pluggable interface I'm making. I've got the code to compile, but have run into a number of problems:
Firstly if I load it simply it gives "Unable to Locate Component" claiming that it is missing jvm.dll. I've included the directoy jvm.dll is in in both the PATH environment variable and in the VC++ directory for executables, neither approach seems to work.
I can get it to load if I simply put the jvm.dll in the folder with the executable, but at this point JNI_CreateJavaVM consistently fails to load. All the paths have been set directly, rather than using variable references to them. I would ideally like this application to run on any system with a JVM installed, but at the moment its not looking likely! By the way, I'm using the SDK1.4.1.
Thanks,
James
|
|
|
|
|
Is there a good resourcece anywhere on Threading and MFC Classes? (Google hasn't found anything.
My question is why does it crash when I try to call GetFiles? (Its locked within a critical section.
CString CBookmarks::GetXML(CString sTag, CString eTag, CString m_Content)
{
int nStart, nEnd=0;
nStart=m_Content.Find(sTag,0);
nEnd=m_Content.Find(eTag,nStart);
nStart+=sTag.GetLength();
return m_Content.Mid(nStart, nEnd-nStart);
}
DWORD CBookmarks::BKOrg_ThreadStub(DWORD arg)
{
return ((CBookmarks*)arg)->BKOrg_Thread();
}
DWORD CBookmarks::BKOrg_Thread()
{
CString m_strOutput;
::MessageBox(GetSafeHwnd(),"Lockdown","Thread",MB_OK);
m_Sync.Lock();
m_strOutput=bBks.GetFiles(m_strStr_Websites[0]);
m_Sync.Unlock();
::MessageBox(GetSafeHwnd(),"Ended"+m_strOutput,"Thread",MB_OK);
AfxEndThread(0);
return 0;
}
void CBookmarks::StartBKOrg_Thread(void )
{
pThread=AfxBeginThread((AFX_THREADPROC)&BKOrg_ThreadStub,(void*)this);
}
//Get Keywords from bookmarked sites
//Date: 1 19 03
CString CBookmarks::GetFiles(CString URL)
{
//Define Varibles
//Date: 11 23 02
CInternetSession GetFile_Session("404Browser: Retrieving Keyword Info. NOTE: This info comes from the meta tags.");
CStdioFile *remotefile;
CFile* pFile=NULL;
CString fContents, remoteFilecont;
#define HTTPBUFLEN 512
char httpbuff[HTTPBUFLEN];
int numbytes;
//
TRY
{
remotefile=GetFile_Session.OpenURL(URL, 1,
INTERNET_FLAG_TRANSFER_BINARY|INTERNET_FLAG_RELOAD);
while (numbytes = remotefile->Read(httpbuff, HTTPBUFLEN))
{
remoteFilecont.Format("%s",httpbuff);
fContents+=remoteFilecont.Mid(0,numbytes);
if (fContents.GetLength()>=2048)
break;
}
}
CATCH(CInternetException, iEx)
{
iEx->ReportError();
}
AND_CATCH(CMemoryException, mEx)
{
AfxAbort();
}
END_CATCH;
if (pFile!=NULL)
{
pFile->Close();
delete pFile;
}
fContents.MakeLower();
//Get Head
//Date: 1 19 03
if ( (fContents.Find("",0)!=-1) && (fContents.Find("",0)!=-1))
fContents=GetXML("","",fContents);
//Get Keywords
//
//Date: 1 19 03
fContents=GetXML("name=\"keywords\"","\" ",fContents);
fContents=GetXML("content=\"","\">",fContents);
//
return fContents;
}
//
-Steven
CP Addict
By reading this message you are held fully responsible for any of the mispelln's or grammer, issues, found on, codeproject.com.
For those who were wondering, actual (Linux) Penguins were harmed in creating this message.
|
|
|
|
|
Steven Hicks wrote:
m_strOutput=bBks.GetFiles(m_strStr_Websites[0]);
What us bBks, where is it initialized, is it valid? CBookmarks::BKOrg_Thread() has a 'this' ptr, why isn't it just being used. ie, If bBks is pointing to a different instance of CBookmarks you are treading on thin ice. Also is the critical section a static member of CBookmarks? And have you tried the obvious thing, stepping through the code with the debugger?
And finally old stle C casts shouldn't be used these days: ((CBookmarks*)arg)->
Neville Franks, Author of ED for Windows. www.getsoft.com
Make money with our new Affilate program
|
|
|
|
|
Neville Franks wrote:
bBks
Its CBookmarks bBks, i thought that the tread couldn't see outside the function.. (stupid me). The code works without being in a thread.
-Steven
CP Addict
By reading this message you are held fully responsible for any of the mispelln's or grammer, issues, found on, codeproject.com.
For those who were wondering, actual (Linux) Penguins were harmed in creating this message.
|
|
|
|
|
Steven Hicks wrote:
Neville Franks wrote:
bBks
Its CBookmarks bBks, ..
I have no idea what this means.
I have similar code in a thread and it works just fine.
Neville Franks, Author of ED for Windows. www.getsoft.com
Make money with our new Affilate program
|
|
|
|
|
my control is a draw self button.
|
|
|
|
|
Er, I feel a little stupid asking this. I just installed Dundas Ultimate Toolbox, as well as the integrated VS.NET help.
I ran VS.NET but it hasn't added any new App Wiz templates for me? Am I missing something here, or do I have to manually include Dundas headers, Dundas libs etc... ? If so where is the getting-starting documentation? I have no idea what to include right now
Thanks,
Nish
Author of the romantic comedy
Summer Love and Some more Cricket [New Win]
Review by Shog9
Click here for review[NW]
|
|
|
|
|
I installed Dundas Ultimate Toolbox 6 on my machine. It has no Application Wizard. For this reason, I add every header/implementation file (.h, .cpp) to my project. Refer to Dundas UT Help file for knowning which .h/.cpp you must add to your project.
A. Riazi
|
|
|
|
|
|
Hello Nish,
The Ultimate Toolbox does not come any AppWizards because we have found that in most cases our clients typically add our tools to their project after the AppWizards are used to create the application or when upgrading existing projects. As result creating AppWizards (although a great idea) was never a priority for Dundas Software.
The easiest way to work with Ultimate Toolbox is to build it into a DLL, link your application to it, and then only include the header files that you need.
Peter
|
|
|
|
|
|
The Wait function is a function that encapsulates WaitForSingleObject that can run
cross-platform.
But I am confused why a CRITICAL_SECTION object is used.
//global
CRITICAL_SECTION cs;
//if on windows platform
Wait()
{
LeaveCriticalSection(&cs);
//do some operations
WaitForSingleObject ( ... );
//do some operations
EnterCriticalSection(&cs);
}
Thanks in advance,
George
|
|
|
|
|
You don't use the Wait functions on critical sections. EnterCriticalSection() blocks the thread until the CS is available, then LeaveCriticalSection() released the CS so other threads can acquire it.
--Mike--
I'm bored... Episode I bored.
1ClickPicGrabber - Grab & organize pictures from your favorite web pages, with 1 click!
My really out-of-date homepage
Sonork-100.19012 Acid_Helm
|
|
|
|
|
Thanks, Michael pal!
But in my example, LeaveCriticalSection() are
called before EnterCriticalSection().
I think from your explanation, EnterCriticalSection()
should be called before LeaveCriticalSection().
Thanks in advance,
George
|
|
|
|
|
George2 wrote:
I think from your explanation, EnterCriticalSection()
should be called before LeaveCriticalSection().
That's right.
--Mike--
Looks like I picked the wrong week to stop sniffing glue.
1ClickPicGrabber - Grab & organize pictures from your favorite web pages, with 1 click!
My really out-of-date homepage
Sonork-100.19012 Acid_Helm
|
|
|
|
|
Thanks, Michael pal!
The codes are taken from Apple's DSS Project,
it is an open source project. In the project,
LeaveCriticalSection() is called before
EnterCriticalSection().
I can give you all the source codes(not too
long). How can I give it to you?
Thanks in advance,
George
|
|
|
|
|
Hi,
can I switch off this new (or strange animated) listbox scrolling in XP? When I scroll with mousewheel while not being over dialog the scrolling is somehow "special" animated?
Is there an explanation when & why this happens... or how to turn off for a listbox?
Thanks
|
|
|
|
|
Use Tweak UI, or My computer-> Propreties-> Performance settings->, then uncheck the visual effects you don't want.
--Mike--
I'm bored... Episode I bored.
1ClickPicGrabber - Grab & organize pictures from your favorite web pages, with 1 click!
My really out-of-date homepage
Sonork-100.19012 Acid_Helm
|
|
|
|
|
can I disable this effect programmatically for a single listbox (in my application)?
|
|
|
|
|
I don't think so, the smooth-scrolling is a system-wide setting.
--Mike--
I'm bored... Episode I bored.
1ClickPicGrabber - Grab & organize pictures from your favorite web pages, with 1 click!
My really out-of-date homepage
Sonork-100.19012 Acid_Helm
|
|
|
|
|
|
Dear all,
I have created a button in IE 5.5 ToolBar(Tool Band concept).then I have created(manually) a registry named as
ToolBand1 under HKEY_LOCAL_MACHINE/Software/ToolBand1.
If I execute that application(VC++),button name to be changed as ToolBand1 in IE.
How to change it through SDK codings?.
Pls help me...
Thanks for viewing this.Please help me.
|
|
|
|
|
is there any way to change the BackGround Color of a Dialog in a SDI project ?
thnx
-=Ehsan-de-Burge=-
|
|
|
|
|
void SetDialogBkColor( COLORREF clrCtlBk = RGB(192, 192, 192), COLORREF clrCtlText = RGB(0, 0, 0) ); Make a call to this function in the InitInstance function of your project.
-Dominik
|
|
|
|
|
|