Delphi调用Android的.so文件(转)

原地址:http://zhidao.baidu.com/link?url=fzqefMM44ljXA5BnAbkX44SapCUteyzlXFvGLKvukBivm9AB-w39P_h7eX1ty-GQX8j3A03AZBPat6yMqjeY4Sc5jlaayMRVOigzCElm_Ky

so本质就是个动态链接库
用gcc编译就能生成了

Delphi  XE里

if not Tfile.Exists(TPath.GetDocumentsPath+‘/libserial_port.so‘) then
  begin
    showmessage(TPath.GetDocumentsPath+‘/libserial_port.so  not found‘);
  end;
  Handle1:=LoadLibrary(pchar(TPath.GetDocumentsPath+‘/libserial_port.so‘));//动态装入库
if Handle1<>0 then //找到库
begin
    fun1:=GetProcAddress(Handle1,‘openport‘);
//搜索库函数Add,并返回函数指针
if Assigned(fun1) then
    begin
......

至于上面的GetDocumentsPath 或者别的目录也可以 参看TPath的说明和so文件存放目录有关系

另外值得注意的事传递的字符串  xe中是双字节的。

时间: 2024-08-01 17:55:44

Delphi调用Android的.so文件(转)的相关文章

Delphi如何处理不同类型的文件

参考:http://www.cnblogs.com/railgunman/articles/1800318.html 程序设计当中,我们时常遇到需要处理文件.目录及驱动器的情况,这里将对如何处理不同类型的文件进行讲述 主要包括如何使用 TFileStream 类封装文件的输入/输出以及如何利用 32 位windows的主要特征——内存映射文件.将会学到如何创建一个封装内存映射文件功能的 TMemoryMappedFile类,并用它在文本文件中进行文本查询.还提供了一些关于选择驱动器.在树形目录中

Delphi使用android的NDK是通过JNI接口,封装好了,不用自己写本地代码,直接调用

一.Android平台编程方式:      1.基于Android SDK进行开发的第三方应用都必须使用Java语言(Android的SDK基于Java实现)      2.自从ndk r5发布以后,已经允许完全用C/C++ 来开发应用或者游戏,而不再需要编写任何Java 的代码   Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序. 二.跨平台移动开发   Delphi使用android的NDK是通过JNI接口,封装好了,不用自己

调用Android系统安装的软件打开文件,程序停止运行

问题描述 如题,调用Android系统安装的软件打开文件时,当系统有安装相关软件时程序正常运行,但是当系统找不到该文件类型匹配的软件时就停止运行了.现在我想让它找不到相应软件时能提示用户,而不是直接停止运行,代码应该怎么写,求大神赐教!!! 解决方案1 或者捕捉startActivity的异常,但是这种方式比较粗暴. 解决方案2 try {     //把你7楼的代码放在这里 } catch (Exception e) {     //提示用户没有找到 } 解决方案3 何必呢,直接使用 // 获

Delphi xe7 up1 调用android振动功能

Delphi xe7 up1 调用android振动功能 振动用到以下4个单元: Androidapi.JNI.App,Androidapi.JNIBridge,Androidapi.JNI.Os,Androidapi.Helpers 使用方法: var LVibrator: JVibrator; begin LVibrator := TJVibrator.Wrap ((SharedActivity.getSystemService(TJActivity.JavaClass.VIBRATOR_S

学习使用Delphi for android 调用Java类库

http://blog.csdn.net/laorenshen/article/details/41148253 学习使用Delphi for android 调用Java类库 2014-11-15 18:36 1053人阅读 评论(0) 收藏 举报  分类: 安卓开发(27)  Android是一套非常优秀的移动端操作系统,Delphi Xe5中也能直接调用SDK中提供的各项API,但是delphi自己封装的AndroidAPI非常少,在安装目录的 source\rtl\android 中,而

Delphi调用JAVA的WebService上传XML文件(XE10.2+WIN764)

相关资料:1.http://blog.csdn.net/luojianfeng/article/details/512198902.http://blog.csdn.net/avsuper/article/details/8764165 注意事项: 1.生成WSDL文件时,D7可能有的无法生成,用XE版本可以全部生成. 返回字节流: 1 function GetByte(AString: string): TByteDynArray; 2 var 3 sByte: TByteDynArray;

Delphi - Windows系统下,Delphi调用API函数和7z.dll动态库,自动把文件压缩成.tar.gz格式的文件

项目背景 应欧美客户需求,需要将文件压缩成.tar.gz格式的文件,并上传给客户端SFTP服务器. 你懂的,7-Zip软件的显著特点是文件越大压缩比越高,在Linux系统上相当于我们Windows系统上WinRAR或者好压软件一样的存在. 7-Zip软件下载与安装 网上下载相关安装包并完成安装,找到安装目录,复制7z.dll文件到D盘. .bat文件的制作 通过7-Zip软件使用手册了解到,通过动态命令行调用7z.dll可以把文件压缩成.tar.gz格式的,实际上是先将文件压缩成.tar格式的文

(转载)Android xml资源文件中@、@android:type、@*、?、@+引用写法含义以及区别

原帖地址:http://blog.csdn.net/zfrong/article/details/7332545 Android xml资源文件中@.@android:type.@*.?.@+引用写法含义以及区别 一[email protected]代表引用资源 1.引用自定义资源.格式:@[package:]type/name android:text="@string/hello" 2.引用系统资源.格式:@android:type/name android:textColor=&

Android xml资源文件中@、@android:type、@*、?、@+含义和区别

一[email protected]代表引用资源 1.引用自定义资源.格式:@[package:]type/name android:text="@string/hello" 2.引用系统资源.格式:@android:type/name android:textColor="@android:color/opaque_red" 注意:其实@android:type/name是@[package:]type/name 的一个子类 二[email protected]*