`
zo1698
  • 浏览: 27528 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

delphi 编写dll返回pchar 类型出现乱码

阅读更多
前段时间 
  用delphi 为公司开发的dll
  当使用pchar 作为返回值时
  发现一些语言接收到的数据中包含乱码问题。
  应该是返回指针类型是数据出错。

  于是在每一个函数返回前 在其返回值后添加 char(0) 做结束字符。
  一个char(0)不够 ,就再加一个。
  测试pb 中没有再出现次情况了
  vb 中接收返回值 需要做一些处理
  Mid(tres, 1, InStr(tres, Chr(0)) - 1)
 

  其中 tres 为dll 数据
分享到:
评论

相关推荐

    C# 调用Delphi dll 实例代码

    此外,还要注意数据类型的对应,例如字符串在Delphi中通常是PChar(指针),在C#中需要转换为适当的形式。在这个例子中,Delphi的`TMydata`结构体与C#的`Mydata`结构体通过构造函数实现了对应。正确地处理这些细节,...

    手把手教delphi写你的dll文件

    ### 手把手教Delphi编写DLL文件:详细教程与注意事项 #### 一、引言 在软件开发领域,DLL(动态链接库)是一种常见的技术,它允许开发者将常用功能封装成独立的模块,从而实现代码复用和资源优化。本文将详细介绍...

    Delphi String类型和PChar类型使用的区别.rar

    Delphi 以实例演示String类型和PChar类型使用的区别,演示了PChar静态分配空间和PChar动态分配空间:  procedure TForm1.Button1Click(Sender: TObject);  var  PStr:array [0..100] of Char;  begin  StrPCopy...

    Qt.VC调用delphi编写的dll lib,详细方法

    在跨平台的软件开发中,有时我们需要将不同编程语言编写的组件集成在一起,例如使用Qt(C++)或Visual C++(VC)调用由Delphi编译的DLL库。Delphi以其强大的面向对象特性及易用性,在创建高效、快速的Windows应用...

    delphi中String,PChar,PByte,Array of Char,Array of Byte 互相转换

    ### Delphi中String,PChar,PByte,Array of Char,Array of Byte 互相转换 在Delphi编程语言中,字符串和其他与字符相关的数据类型之间的转换是常见的需求。本篇文章将详细介绍如何在这些数据类型之间进行转换,...

    C#调用Delphi dll库文件

    本文将深入探讨如何在C# 2013中调用Delphi 7编写的DLL库文件,包括通过函数和存储过程两种方式。 首先,理解基本原理:C#调用DLL主要依赖于P/Invoke(Platform Invoke)特性,这是.NET Framework提供的一种机制,...

    C#调用Delphi编写的Dll文件

    本例探讨的是如何在C#环境下调用由Delphi编写的动态链接库(Dll)文件,这是一种典型的跨语言互操作技术。下面我们将详细介绍这个过程,并涉及到的相关知识点。 首先,我们需要了解C#和Delphi这两个编程语言。C#是...

    C#调用Delphi编写的非托管Dll的例子源程序

    综上所述,要实现C#调用Delphi编写的非托管DLL,你需要创建一个C#项目,使用`[DllImport]`特性声明Delphi DLL中的函数,正确设置参数类型,并处理好封送问题。在代码中进行适当的异常处理,确保程序的健壮性。最后,...

    java调用delphi动态库的实例

    DelphiDLL dll = new DelphiDLL(); int result = dll.addNumbers(5, 7); System.out.println("结果是:" + result); } } ``` - 运行Java程序,即可看到Delphi动态库返回的结果。 总结,通过上述步骤,我们...

    delphi7调用高版本xe的dll字符串传参示例

    这里的`PChar`类型代表C风格的字符串,它在Delphi中对应于Pascal字符串。 在Delphi 7中调用DLL: 1. 创建一个新的VCL Forms应用程序。 2. 添加对`Windows`单元的引用,因为我们需要使用`LoadLibrary`和`...

    delphi动态调用Dll

    9. **跨语言兼容性**:动态调用DLL使得Delphi程序能够与使用其他语言(如C++、C#或VB.NET)编写的DLL交互,因为这些语言都支持stdcall调用约定。 10. **优化和性能**:虽然动态调用提供了灵活性,但也有性能开销,...

    delphi 调用vc dll 获取返回数据 mac地址

    本文将深入探讨如何使用Delphi调用VC++编写的DLL(动态链接库)来获取并处理返回的数据,特别是MAC地址这种特定的信息。 首先,我们需要理解DLL的工作原理。DLL是一种可执行代码库,它可以被多个程序同时调用,共享...

    Java中调用Delphi编写的DLL_.docx

    在Java中调用Delphi编写的DLL涉及到跨语言的交互,主要依赖于Java Native Interface (JNI)。JNI是一种允许Java代码和其他语言写的代码进行交互的框架,它使得Java能够调用C、C++甚至是Delphi等本地代码,反之亦然。...

    VC/C#调用delphi写的dll, 演示如何进行类的传递并callback调用方的代码

    同时,VC中的类需要有一个字段来存储Delphi DLL返回的接口指针,以便调用DLL的方法。 在VC调用DLL的函数时,需要先实例化一个Delphi类的对象,然后将这个对象的指针作为参数传递给DLL。在DLL中,你将接收这个指针,...

    jna调用系统dll文件并且获得返回参数的实例

    采用java jna4.1 调用C编写的dll文件,获得返回结果,且获得返回参数的例子

    Delphi中使用DLL的简单实例

    在Delphi编程环境中,动态链接库(DLL)是一种非常重要的技术,它允许我们将代码模块化,提高代码重用,减少应用程序的内存占用,并且能够实现跨进程通信。本实例将探讨如何在Delphi中创建和使用DLL,以及如何进行...

    C#调用Delphi的dll以实现标准的AES加密解密

    本主题探讨的是如何使用C#调用由Delphi编写的DLL(动态链接库)来实现标准的AES(Advanced Encryption Standard)加密解密功能。AES是一种广泛应用于数据保护的对称加密算法,具有高安全性、效率高和易于实现的特点...

    delphi调用dll

    Delphi,作为一个强大的Object Pascal集成开发环境,支持创建和调用DLL来实现代码复用和模块化。本教程将深入探讨如何在Delphi中进行DLL的静态和动态调用,这对于初学者来说是非常实用的知识。 首先,让我们理解...

    C# 调用 delphi DES加解密 dll接口(源码) des.rar

    在IT领域,跨语言通信是常见的需求,这里我们讨论的是如何使用C#调用由Delphi编写的DES(Data Encryption Standard)加密解密DLL接口。DEs是一种对称加密算法,广泛应用于数据保护中。本示例展示了C#与Delphi之间的...

    Delphi 调用VC生成的DLL

    总结来说,"Delphi 调用VC生成的DLL"涉及到不同编程环境间的接口调用,理解DLL的工作原理和不同编程语言之间的数据类型转换是关键。正确配置和调用DLL可以极大地增强应用程序的功能,同时保持代码的组织性和可维护性...

Global site tag (gtag.js) - Google Analytics