Execute dll function using Java Technology

Can I use Java to execute an existing dll function? Currently this dll function is sits in Unix and was compiled using Borland C compiler. How can this to be done?

If you know all the entry ponts to the dll, and their parameters, return values and caling conventions then you should be able to write 'c' funtion prototype for them like this
stdcall int somefunc(int x, char *x);
If so, you can load the dll (on windows) with LoadModule
get each functions address with GetProcAddress
and cast the result to a pointer to the appropriate prototype
THEN you can write a JNI wrapper dll that makes these functions available from JAVA

Similar Messages

  • Calling DLL function using LabVIEW 7.1?

    Here's the scinario:
    I have LabVIEW 7.1 and i'm trying to call a DLL function using 'CALL LIBRARY FUNCTION NODE'.
    I have used this in the past with no problem. But right now, when I use this node and link it to the
    library and function name, i get 'ERROR loading Dllname.dll' message.
    NOTE that the DLL is generated using VStudio2003 or VStudio.NET. Could this be a problem??
    Also, i noticed that there are some JUNK characters before & after the function name that show
    up in function prototype:
    long ?EcpvsSign@@YAHHPBEH0HPAE1@Z(long Signer, CStr NonRMsg, long NonRMsgLen,
    CStr RMsg, long RMsgLen, CStr SigR, CStr SigS);

    tbd wrote:
    Hi rkpat,
          You might check-out this thread on building WIN32 DLLs - expecially the bit re: "mangles names" under the paragraph titled "C Language Source File".  My recollection is that 'extern "C"' directive in the header file for the DLL solved the name-mangling problem, but it's been a few years!
    Cheers!
    Message Edited by tbd on 03-01-2007 11:19 PM
    tbd is right. You have to first disable name mangling as it creates all kind of troubles. Other issues might be that your Visual Studio 2003 or .Net edition links in dynamic runtime libraries that are not standard available on every Windows PC so that you need to redistribute the according runtime library installer together with your app for the DLL to be even loadable.
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Execute MSIL code using JAVA

    How can I execute MSIL code using java?

    Thanks for your reply. I did it in google and didn't find any useful think.
    I just want to know is there any technique in java or already written product that can do that.
    Any advice will be helpful. Thanks

  • Call DLL function from JAVA

    HI!
    What's the best way (and simple) to call DLL function from JAVA.
    DLL function (developed in C) has two input parameters (string) and return an integer.
    Could you help with an example?
    Thanks a lot.

    Do a google search for 'JNI tutorial' and it will turn up hundreds of examples.

  • Create RFC Function using Java Program

    hi
    I am trying to create a small utility in java that extracts data from SAP system and loads it to local Db
    For extracting data from SAP we have a custom ABAP function (RFC) running on SAP server that is called from Java using JCO3 APIs
    Installation of this utility on client side involves -
    1.     Installing RFC on Clientu2019s SAP instance
    2.     Installing / Configuring Java code on Clientu2019s machine
    Is there a way to install / create a RFC function using java -JCO APIs so that Step-1 can be omitted?
    I had browsed through a sample provided in examples installed with JCO3 but its very trivial example can someone point to a exhaustive link or explain how this can be achieved using Java program
    Thanks

    Hi Amit
    I am not sure I understand the question. You want to create an RFC in Java? If this is correct why not create a Remote Method in java for example as EJB or Web Service which is more standard than creating an RFC.
    On the other hand if you want to create a RFC client in Java (a Program which calls a RFC in SAP ABAP system) you can use JCo APIs (which can be either standalone or on the NW Java server) or JRA (from NW 7.1 onwards).
    Regards
    Partha

  • How to Use DLL Function in Java Applet

    Hi all,
    I have been assigned a task to develop java applet. The problem is, I need to use DLL functions in my applet to read records. Could you pls anyone guide me how to interface DLL and applet to read records with sample code?
    I'm using JDK 1.5.0_06 and Windows XP OS. thanx..
    best rgds,
    jpdbay

    You will need to use Java Native Interface JNI. Ther are many posts on the subject, please search, and this is the documentation:
    http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/jniTOC.html

  • How to call the DLL functions through Java

    Hello,
    I have already got a VC++ generated DLL. It has serveral functionalities. I need to call those functions from my Java Application. Now i know that it can be possible only through writing Java JNI Interfaces.
    Everywhere i only see they give an example where in they tell to create an DLL. Now how do i will call if an DLL is ready and exists.
    If anyone can give an example then it will be very helpful to me. Please mail me at [email protected] .
    Thank you
    vvpatro

    You can't call functions in an arbitary DLL form Java. You need to use JNI to produce a 'wrapper' DLL that maps Java methods to the methods in the target DLL. The purpose of the wrapper is to allow type conversion between Java types and C/C++ types. The complexity of this task depends largely on the types used in th target DLL. If the targer DLL uses only primitive types such as char, byte, int, long, string, the translation is simple and the wrapper DLL will be 'thin'. If however, the target DLL passes arrays and objects, or employs callbacks, these more work to do, and the wrapper will be correspondingly 'thicker'.
    Hope this helps.

  • Execute unix command using java

    Hello
    Can we execute a unix command using java? If it is how we can execute. Is this affect the performance of the program.
    Thanks

    I tried what you said. But its not working and returning error message,
    java.io.IOException: CreateProcess: ls -a error=2
         at java.lang.ProcessImpl.create(Native Method)
         at java.lang.ProcessImpl.<init>(Unknown Source)
         at java.lang.ProcessImpl.start(Unknown Source)
         at java.lang.ProcessBuilder.start(Unknown Source)
         at java.lang.Runtime.exec(Unknown Source)
         at java.lang.Runtime.exec(Unknown Source)
         at java.lang.Runtime.exec(Unknown Source)
    If i try this statement,
    Runtime.getRuntime().exec("c\windows\notepad");
    It is working fine.
    Any idea about this.
    Plz ...........

  • Delete command are not executed in function of Java Bean

    Hello Sir,
    In Java bean have a function submitData.I want in this function run delete command through PreparedStatement..But Its not executed.
    Please review..
    public void submitData()
         try
    System.out.println("Printed*************************************************************");
    Class.forName("oracle.jdbc.driver.OracleDriver");
    System.out.println("Loading....");
    Connection con=DriverManager.getConnection("jdbc:oracle:thin:@VijayKumar-PC:1521:XE","SYSTEM","SYSTEM");
    System.out.println("Connection created");
    PreparedStatement st=con.prepareStatement("delete  from simple where NAME='?' and BNAME='?' ");
    String User=getUserName();
    st.setString(1,User);
    String Bname=getBookName();
    st.setString(2,Bname);
    int y= st.executeUpdate();
    System.out.println(y);
    System.out.println("Query Executed");
    con.commit();
    con.close();
    System.out.println("Your Book are Submitted *****************");
    catch(Exception e)
    e.printStackTrace();
    }Thanks.

    Dear Sir,
    I removed the singleaquotes from preparedstatement.But Its not executed in this function.Like:
    public void submitData()
         try
    System.out.println("Printed*************************************************************");
    Class.forName("oracle.jdbc.driver.OracleDriver");
    System.out.println("Loading....");
    Connection con=DriverManager.getConnection("jdbc:oracle:thin:@VijayKumar-PC:1521:XE","SYSTEM","SYSTEM");
    System.out.println("Connection created");
    PreparedStatement st=con.prepareStatement("delete  from simple where NAME=? and BNAME=? ");
    String User=getUserName();
    st.setString(1,User);
    String Bname=getBookName();
    st.setString(2,Bname);
    int y= st.executeUpdate();
    System.out.println(y);
    System.out.println("Query Executed");
    con.commit();
    con.close();
    System.out.println("Your Book are Submitted *****************");
    catch(Exception e)
    e.printStackTrace();
    }Allthough Insert command is properly executed in another function of Java Bean.
    Please review...
    Thanks.

  • Making Executable Jar file using java Application

    Following Program creates the jar file at specified location. but, I wonder why this file does not execute on double clicking on it, in spite of that the Manifest file contain correct main class file name
    //MakJar.java
    import java.io.*;
    public class MakJar
    public static void main(String[] args)throws IOException{
    Process p;
    String str="D:\\Himesh\\JFiles";
    try {
    BufferedWriter out = new BufferedWriter(new FileWriter(str+"\\mainClass.txt"));
    out.write("Main-Class: TestFrame\n");
    out.close();
    } catch (IOException e) {
    try
         p=Runtime.getRuntime().exec("cmd /c D:\\Java6\\jdk1.6.0\\bin\\javac.exe "+str+"\\TestFrame.java");
         p=Runtime.getRuntime().exec("cmd /c D:\\Java6\\jdk1.6.0\\bin\\jar cvmf "+str+"\\mainClass.txt "+str+"\\Demo.jar "+str+"\\*.class");
    catch(IOException e)
    System.err.println("Error on exec() method");
    e.printStackTrace();
    }

    Sir,
    On execute the jar using a "java -jar. . ." command. it gives the error--
    "Exception in thread "main" java.lang.NoClassDefFoundError : TestFrame"
    On Extracting the files from jar file made by the java program,i found that the manifist file ( containing the name of main class) and t the class file are included in the jar file.
    But if I make the jar file manually it works perfectly.I have even reinstalled the java but the problem persists
    Same thing happen if i use MS-DOS batch file.
    ??????If i put the batch file in the same directory and execute it The resulting jar file works,But
    ??????if the batch file is executed from outside the directory The resulting jar file fails execute.
    what should i do???

  • Calling Window's Dll Functions from Java

    Hello Audience,
    Is there a way to call Win32/64 based Dynamic-Link-Library functions from Java?
    Thanks,
    GenKabuki

    Yes.
    In general, if you are trying to call functions in an existing dll, you will have to write a "wrapper" dll that meets the java jni interface requires. There are tools around wich purport to generate these for you. Do a google serach; among other tools, you should turn up JACE.

  • Executing SQL Loader ----- Using Java & C!!!!!!!!!!!!!

    Hello,
    We r confirmed that to execute SQL Loader,
    One need to write an External Routine.
    So First Step itself need to create a
    'C' file which executes our sql Loader or
    Using Java.
    How Can I execute the SQL Loader (.exe)
    using Java?
    How can I proceed? Waiting ASAP. Thankyou
    Abhay
    null

    I have a nice piece of Java code that allows you to execute OS commands from within a PL/SQL block in Oracle. If you need the code send me an email. I know it works in Unix and it should work on most platforms.

  • Executing Jar Application using Java Programs

    Hello there,
    How can I run a java application using java programs.
    Desc:
    public class someapp {
       public static void main(String[] ext) {
           // How can I execute a jar application from here through java code
    }

    You could use java.lang.Runtime.exec(). Another way could be loading the main class of the jar file and invoking its main method dynamically.

  • How to execute ".exe" files using java

    Hi,
      This is guruvulu,
         I have a problem in executing ".exe" files.For Example InternetExplorer.

    Hi,
    You can execute .exe files in JAVA using the following code.
    Runtime rt1 = Runtime.getRuntime();
    Process pc = rt1.exec("someexe.exe");
    you can get the output of the executed exe file in
    in = pc.getInputStream(); //this returns a InputStream
    hope this solves your problem.
    regards,
    P.Venkat

  • Issue with Bookmark functionality (using java script) in WAD.

    Hi,
    I am working on a WAD report and instead of using the default bookmark functionality within WAD, i use a java code to get the bookmark url in a new window.
    But the problem is the java code is not working consistently at all times.
    Issue1: If i click on the bookmark button on the report for the first time, it will open up a new window with the bookmark link. But if i close that new bookmark url window and again click on the bookmark button, a new window is opened which displays the template corresponding to the bookmarkk generated earlier (the report in its executed form), instaed of the bookmark url.
    Can anyone help me to correct this issue. At any time i click the bookmark button i want to get the bookmark url opened in the new window, instead of the template.
    Issue2: The bookmark is not at all working at particular times. It will show error message at the bottom the page. What I am  thinking is, this is because of the misalignment of the java code when you sava the WAD report. The java code is so sensitive that it gets realigned each time you save the WAD report. But sometimes even without making any changes also it is not working.
    If anyone has any suggestion or inputs for solving these issues pleese help ASAP. The java code i used is given below.
    function createBookmark()
    var bwUrl="<SAP_BW_URL CMD='BOOKMARK'>";
    child1=window.open(bwUrl,'win1','width=1,height=1,alwaysLowered=0');
    window.focus();
    //Ensure that BW completed generation of the bookmark url.
    now = new Date();
    startTime = now.getTime();
    delayTime = 3000;
    //Set timeout to 3 seconds
    waitTime = startTime;
    //check if the bookmark url is ready and timeout after the specified time (delayTime).
    while (waitTime<(startTime+delayTime))
    now = new Date();
    waitTime = now.getTime();
    //BW identifies a bookmark using BOOKMARK_ID. The presence of this string
    //in the url is used to identify creation of the bookmark. If bookmark
    //is created on the server, proceed to the next step.
    if (child1.location.href.indexOf("BOOKMARK_ID") >0) 
    break;
    bookmark_url = escape(child1.location.href);
    bookmark_url = bookmark_url.replace(/%3A/g, ":");
    bookmark_url = bookmark_url.replace(/%3F/g, "?");
    bookmark_url = bookmark_url.replace(/%26/g, "&");
    bookmark_url = bookmark_url.replace(/%3D/g, "=");
    var base_url = window.location+"";
    var base_index = base_url.indexOf("?");
    base_index = base_index + 1;
    var book_link = base_url.substring(0,base_index);
    if (book_link.indexOf("sapdbi")!=-1)
    book_link = "http://dep.xxx.com/sso/index.jsp?target=BW&";
    if (book_link.indexOf("sapqbia1")!=-1)
    book_link = "http://qep.xxx.com/sso/index.jsp?target=BW&";
    if (book_link.indexOf("sapqbia2")!=-1)
    book_link = "http://qep.xxx.com/sso/index.jsp?target=BW&";
    if (book_link.indexOf("sappbia1")!=-1)
    book_link = "https://portal.xxx.com/sso/index.jsp?target=BW&";
    if (book_link.indexOf("sappbia2")!=-1)
    book_link = "https://portal.xxx.com/sso/index.jsp?target=BW&";
    if (book_link.indexOf("sapqbi")!=-1)
    book_link = "http://qep.xxx.com/sso/index.jsp?target=BW&";
    if (book_link.indexOf("sappbi")!=-1)
    book_link = "https://portal.xxx.com/sso/index.jsp?target=BW&";
    var book_index = bookmark_url.indexOf("?");
    book_index =   book_index +   1; 
    var book_length = bookmark_url.length;
    var temp_link= bookmark_url.substring(book_index,book_length);
    portal_bwUrl = book_link+temp_link;
    child1.close();
    // The below two lines are not necessary, it is left for reference.
    // https://portal.xxx.com/sso/index.jsp?target=BW&SAP-               //LANGUAGE=EN&language=EN&cmd=LDOC&TEMPLATE_ID=IPUWT_FRAME
    bookmark_window=window.open("",'_blank','width=1000px,height=30px,status=0');
    bookmark_window.moveTo(50,500);
    var body_tag = '<body leftmargin=3 topmargin=3 bgcolor=#cad4e3 class=&amp;SAPBEXTbsBdyEdg&amp;>';
    var body_text ='<p><font face=Arial size=2>
    This bookmark can be copied and pasted to Internet Explorer-Favourites, mail or other documents:
    </p>';
    bookmark_window.document.write('<title name="SAP_BW_TITLE_!IID_171">Bookmark</title>',body_text, body_tag, portal_bwUrl, '</body>');
    Thanks in Advance.

    Hi Danny
    Thanks for the update
    Hi Danny
      Thanks for the update.
      I can't find any code in the attachment.Its a Web Page.
      Rightclick on webpage and View Source
      Then i can find Code.
      Still it is not working
    Issues: Which object i have to replace with the URL in the code
    Value = 'Weekly'
    or
    fun(WEEKLY REPORT)
    and
    when i paste that code in the XHTML tab of template and tried to save it,The scripted is changed
    Please update how to proceed
    Thanks

Maybe you are looking for

  • Jtree: "check if tree node is a folder"  not wrkin

    Hi, I have a JTree and If a folder does not has any file, it displays as file not folder. Is there any way to fix it. I want to represent an empty folder as folder not file. here is the code. Thanks for help. if(!f.isDirectory()) {      System.out.pr

  • How to change in cost center?

    Can some body please explain: How to change the depreciation expenditure charged from one cost center to another? Since the depreciation has been posted for the 2 months that have been closed, is it possible still to repost line items? To change the

  • Error in evaluating correlation query

    Hi, I am using 10.1.3.3.1 MLR#14 Patch (upgrade from 10.1.3.1). I have created a process where in I've created correlation sets. Basically, I am placing an Order XML on JMS queue (invoking JMS adapter) and the next activity is 'Receive' activity whic

  • UCCE 9.x design with Win Server 2008 R2

    hi all, How should i plan my partitions in Win 2008 Server design if staging guide to UCCE 9 tells about having partiton C and D, but doesn't have reccomendations in allocations. Our customer got 125 Call Agents, and here are recomendations for virtu

  • No amount authorization for customers/vendors in company code 123..

    hi.. frnds.. While doing MIRO, am getting this error: No amount authorization for customers/vendors in company code 123.. can any one resolve this... thanks in advance... Regards. Raghav.KH