C#调用顶尖PBUSDRV.DLL时,如果保质期shleftime大于3时,下传就报错

问题描述

C#调用顶尖PBUSDRV.DLL时,如果保质期shleftime大于3时,下传就报错

结构体声明如下:

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct TPlu
{
//[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 36)]
public string Name;
public int LFCode;
//[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 10)]
public string code;
public int barcode;

        public int unitprice;
        public int weightunit;
        public int deptment;
        public double tare;

        public int shleftime;

        public int packagetype;
        public int packageweight;
        public int tolerance;
        //[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 1)]
        public byte message1;

        //[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 1)]
        public byte reserved;
        public short reserved1;
        //[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 1)]
        public byte message2;
        public byte reserved2;

        //[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 1)]
        public byte multilabel;
        //[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 1)]
        public byte rebate;
        public int account;
    }

其它INT型的参数都一切正常,唯独shleftime大于3时,下传就报错。0-3下传正常。是否要特殊处理?
文档对于保存期shleftime的说明:宽度 3,默认 15,描述:0~365, 其中 364: 不打印有效期; 365: 有效期和包
装日期均不打印包装日期为零时,包装日期及保鲜日
期均打印。

然而同样写的PB,VB程序则正常。

解决方案

贴出你所谓正常的VB代码,我可以帮你看看。

时间: 2024-10-25 06:44:01

C#调用顶尖PBUSDRV.DLL时,如果保质期shleftime大于3时,下传就报错的相关文章

.net-C#调用c++的dll执行带字符串参数的函数时遇到的问题

问题描述 C#调用c++的dll执行带字符串参数的函数时遇到的问题 我在c++项目中实现函数: extern "C" __declspec(dllexport) int FUNC1(const char* xmlSta, char* fileOut) { return 0; } 然后编译成动态库a.dll,并在C#项目中引用, 用静态加载的方式,是可以运行的,代码如下(只写调用的部分): [DllImport("a.dll", EntryPoint = "

p invoke-c#调用pjsip 的 c++ dll 没有参数正常,但是有参数的时候就报错

问题描述 c#调用pjsip 的 c++ dll 没有参数正常,但是有参数的时候就报错 pjsip 的 c++ dll ,按照文档里面的参数设置来传递参数,但是,在按照P/invoke 方式进行获取,但是运行的结果是,没有参数的都能正常运行,有参数的却报错,错误是这样的 对 PInvoke 函数"dllTest!dllTest.Program::dll_makeCall"的调用导致堆栈不对称.原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配.请检查 PInvoke 签名的

web服务-app 调用webservice的图片上传接口报错

问题描述 app 调用webservice的图片上传接口报错 以下为c#写的图片上传接口,图片是在app转为base64的:而当在服务上测试时是可以上传,即下图的位置 可是在app调用该接口时却出错,这是为什么,困扰了多天了.请大神帮忙哈 public JObject UploadPicture(string jsonString) { JToken Picture; JObject jobject = JObject.Parse(jsonString); Picture = jobject.G

调用函数-简单的com组件调用,用类厂的方式,调试到ix->ifun()内存报错。。

问题描述 简单的com组件调用,用类厂的方式,调试到ix->ifun()内存报错.. #include #include "ComExp1.h" #include "ComExp1_i.c" int main(int argc, char* argv[]) { IUnknown *pUnk=NULL; ICompute *pObject; //ICompute * pICompute; //定义一个ICompute 的接口指针: HRESULT hResult

php的phpExcel类生成excel时列超过26大于Z时如何解决

我们生成excel都会使用phpExcel类,这里就来给大家介绍在生成excel列名超过26列大于Z时的解决办法,这是phpExcel类中的方法,今天查到了,记录一下备忘,代码如下:  代码如下 复制代码 public static function stringFromColumnIndex($pColumnIndex = 0) {         //  Using a lookup cache adds a slight memory overhead, but boosts speed

asp.net webservice调用Delphi的dll

问题描述 asp.net webservice调用Delphi的dll asp.net webservice调用Delphi的dll,执行方法Init(连接Oracle数据库),报错连接超时. 建立个winform程序,调用Init函数可通过,但webservice就是不行. 我是发布在服务器server 2003 32位, IIS发布,发程序发布的文件扔到IIS根目录,dll文件在bin目录下. 调用的这个dll文件又调用了另一个dll,2个dll文件都扔到bin目录下了.不知道是什么原因,w

spring和mybatis集成时总报错 麻烦帮忙看下什么原因

问题描述 spring和mybatis集成时总报错 麻烦帮忙看下什么原因 项目请求数据的时候报Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.business.dao.system.AdminMapper.selectByPrimaryKey麻烦大神帮忙看下这是啥原因,找了好久不知道

flash-C#与Flash通讯的问题,调用组件报错

问题描述 C#与Flash通讯的问题,调用组件报错 C#与Flash通讯,添加了系统自带的Flash.ocx组件,调用了Call接口并传递两个参数,通讯过程已经用xml进行格式转换 项目在debug模式下正常运行,Flash文件也正常显示 但是换成release模式下却一直报错:对com组件的调用返回了错误 HRESULT E_FAIL 求大神解决办法 解决方案 看看是不是权限的问题或者控件没有正确注册造成的.

web service-jboss5环境下,cxf和axis调用webservice客户端都是不报错,不返回结果

问题描述 jboss5环境下,cxf和axis调用webservice客户端都是不报错,不返回结果 有谁碰到过这种问题,cxf和axis调用webservice没问题,部署到jboss5里面就有问题, 不报错,不返回结果 解决方案 http://blog.csdn.net/shiqi472807092/article/details/8254494