cancel
Showing results for 
Search instead for 
Did you mean: 

How to integrate an own dll into SAP NetWeaver Mobile 7.1 Client ?

Former Member
0 Kudos

Hi dear mobile folks,

We try to integrate an own dll with a special hardware driver into the mobile client of SAP NetWeaver Mobile 7.1 .

Does anyone know, how we can do this?

Thanks and Best Regards Philipp

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

we simply placed the DLL in the BIN folder of the PDA - and it works as well if it is placed in the WINDOWS folder. Both are workgin fine on MI7.1

In the code we simply LOAD the dll and then use any method out of it - it uses simply JNI calls.

Perhaps your DLL is wrong? Does it work outside MI if you use it in simply Java app in PDA?

Regards,

Oliver

Former Member
0 Kudos

Hi Oliver.

Thank you for your help.

We did as you said and the dll is found right now.

Best Regards Philipp

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi folks,

we just added the following line in the core.properties file:

MobileEngine.Startup.LoadDlls=Name1 of 1st. DLL , Name2 of 2nd dll

The dll is located in the

\Windows

Folder of the mobile device.

And in the moment we instantiate our hardware driver we get the following exception message:

java.lang.reflect.InvocationTargetException: java.lang.UnsatisfiedLinkError: no Name1 of 1st. DLL in java.library.path

at java.lang.ClassLoader.loadLibraryInternal()

at java.lang.ClassLoader.loadLibrary()

at java.lang.Runtime.loadLibrary0()

at java.lang.System.loadLibrary()

at

at de.dataone.mesap.rfid.RfidReader.connect()

at mia_ui_app.comp.XXX_UI_APPComp.getRFID()

at mia_ui_app.comp.XXX_REG_05_RFID.onActionReadRfidTag()

at mia_ui_app.comp.XXX_REG_05_RFID.invokeEventHandler()

at com.sap.tc.mobile.wdlite.progmodel.core.AbstractViewElement.doHandleEvent()

at com.sap.tc.mobile.wdlite.renderer.api.UIElement.doHandleEvent()

at com.sap.tc.mobile.wdlite.renderer.api.UIImageButton.mouseReleased()

at com.sap.tc.mobile.wdlite.renderer.api.UIElement.dispatchMouseReleasedWidgetEvent()

at com.sap.tc.mobile.wdlite.renderer.api.UIElement$1.mouseReleased()

at com.sap.tc.mobile.wdlite.renderer.swt.MouseEventDispatcher.mouseUp()

at org.eclipse.swt.widgets.TypedListener.handleEvent()

at org.eclipse.swt.widgets.EventTable.sendEvent()

at org.eclipse.swt.widgets.Widget.sendEvent()

at org.eclipse.swt.widgets.Widget.sendEvent()

at org.eclipse.swt.widgets.Widget.sendEvent()

at org.eclipse.swt.widgets.Control.pointerCallback()

at org.eclipse.swt.widgets.Display.readAndDispatch()

at com.sap.tc.mobile.wdlite.renderer.swt.container.WorkingArea.refresh()

at com.sap.tc.mobile.wdlite.renderer.api.RenderingManager.refresh()

at com.sap.tc.mobile.wdlite.progmodel.core.Application.refresh()

at com.sap.tc.mobile.wdlite.progmodel.core.Application.navigate()

at com.sap.tc.mobile.wdlite.progmodel.core.Application.enter()

at com.sap.tc.mobile.wdlite.progmodel.core.Application.setCurrent()

at com.sap.tc.mobile.wdlite.progmodel.core.Application.launch()

at com.sap.tc.mobile.wdlite.progmodel.core.Application.launch()

at com.sap.tc.mobile.wdlite.progmodel.core.WDLite.launchApplication()

at com.sap.tc.mobile.wdlite.framework.Start.runOnContext()

at com.sap.tc.mobile.wdlite.framework.Start.startApplication()

at com.sap.tc.mobile.wdlite.framework.Start.startContainer()

at com.sap.tc.mobile.cfs.framework.spi.FrameworkManager.startContainer()

at com.sap.tc.mobile.cfs.init.FrameworkInitializer.init()

at com.sap.tc.mobile.cfs.startup.pda.Startup.main()

Best Regards Philipp