易截截图软件、单文件、免安装、纯绿色、仅160KB

VB调用VC DLL 约定错误,求高手指点

VC函数是:extern "C" int __declspec(dllexport)PassPortRead(char *InPutData,char OuPutData[255]);
VB声明是:Private Declare Function PassPortRead Lib "PPRead.dll" (ByVal InPutData As String, ByVal OutPutData As String) As Integer
生成的文件能正常运行,并且能生成相应数据,但是在调试时提示"DLL调用约定错误"
E_Mail:linnda413@126.com
VC代码:
int PassPortRead(char *InPutData,char OutPutData[255])
{
 char tmp[255];
 int len = 0;
 memset(tmp,0,255);
 //初如化成员变量passInfo
 memset(PassInfo.Name,0,20);
 memset(PassInfo.Birth,0,20);
 memset(PassInfo.Gender,0,10);
 memset(PassInfo.Nationality,0,10);
 memset(PassInfo.Number,0,20);
 memset(PassInfo.IdCode,0,20);
 memset(PassInfo.Expiry,0,20);
 memset(PassInfo.CIssue,0,20);
 //删除换行与回车字符
 DelInStr(InPutData,"\r");
 DelInStr(InPutData,"\n");
 
 
 len = strlen(InPutData);
 if (len == 0)
 {
  return -1;
 }
 if (len < 80)
 {
  PassportParseTD2(InPutData); 
 }else{
  PassportParseTD1(InPutData); 
 } 
 sprintf(tmp,"#01%s#02%s#03%s#04%s#05%s#06%s#07%s#08%s",
  PassInfo.Name,PassInfo.Birth,PassInfo.Gender,PassInfo.Nationality,PassInfo.Number,
  PassInfo.IdCode,PassInfo.Expiry,PassInfo.CIssue);
 strcat(OutPutData,tmp);
 
 return 0;
}
VB代码:
Private Declare Function PassPortRead Lib "PPRead.dll" (ByVal InPutData As String, ByVal OutPutData As String) As Integer
Private Sub START_BTN_Click()
Dim PPData As String
Dim PPShow As String
PPData = PPData_TXT.Text
PPShow = String(255, vbNullChar)
If PPData = "" Then
    PRSHOW_TXT.Text = "护照数据不能为空..."
End If
Call PassPortRead(PPData, PPShow)
PRSHOW_TXT.Text = PPShow
End Sub
生成程序运行正常:
调试时出现错误


相关文档:

ASP VB.NET 客户端上传文件到服务器端

  Dim strPath As String = Server.MapPath("~\文件夹")
        '判断保存文件路径是否存在 不存在则创建
        If Not Directory.Exists(strPath) Then
            Directory ......

VB实现简单的图形区域选择

程序效果:
当点击左边的部件图时,会弹出对话框提示你点击了哪一个区域。
程序思路:
用一个图片区域码图作为点击区域的参照,根据XY取得的颜色识别出属于哪一个区域
程序界面如下:
相关代码如下:
Visual Basic Code
Dim ColorArray (   )   As Long
Dim ColorCount As Long
Private Sub Form_Load ( ......

VB不使用 API,将 Utf8 转换为 Unicode

Private Function Utf8ToUni(B() As Byte) As String
   '不使用 API,将 Utf8 转换为 Unicode
   Dim BU As Long
  
   On Error Resume Next
   BU = -1: BU = UBound(B)
   If BU = -1 Then Exit Function
   On Error GoTo 0
 &n ......

(转)VB强制类型转换函数

转自:http://tieba.baidu.com/f?kz=139765011
每个函数都可以强制将一个表达式转换成某种特定数据类型。
语法
CBool(expression)
CByte(expression)
CCur(expression)
CDate(expression)
CDbl(expression)
CDec(expression)
CInt(expression)
CLng(expression)
CSng(expression)
CStr(expression) ......

利用replace 函数 在vb中实现 消除空行


这里是 利用replace 函数 在vb中实现 消除空行的一个程序
这里的容器是richtext
可以扩充到其他容器 和其他字符 用于编写查找替换功能
'--------------------------------------------------------------------------------------------
' 消除空行 , 利用instr函数, 搜索文本里的vbcrlf(回车 + 换行), 两个回车替换 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号