<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lxbin2003的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lxbin2003</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lxbin2003]]></copyright><item><title><![CDATA[关于 sqlite3.dll 动态加载使用问题]]></title><link>https://blog.youkuaiyun.com/lxbin2003/article/details/133033209</link><guid>https://blog.youkuaiyun.com/lxbin2003/article/details/133033209</guid><author>lxbin2003</author><pubDate>Tue, 19 Sep 2023 16:05:23 +0800</pubDate><description><![CDATA[sqlite3 动态加载]]></description><category></category></item><item><title><![CDATA[PB的扩展DLL开发（超级篇）（八）]]></title><link>https://blog.youkuaiyun.com/lxbin2003/article/details/126761270</link><guid>https://blog.youkuaiyun.com/lxbin2003/article/details/126761270</guid><author>lxbin2003</author><pubDate>Thu, 08 Sep 2022 11:30:37 +0800</pubDate><description><![CDATA[PB DLL 高级 开发 ]]></description><category></category></item><item><title><![CDATA[PB的扩展DLL开发（超级篇）（七）]]></title><link>https://blog.youkuaiyun.com/lxbin2003/article/details/125556751</link><guid>https://blog.youkuaiyun.com/lxbin2003/article/details/125556751</guid><author>lxbin2003</author><pubDate>Fri, 01 Jul 2022 13:08:47 +0800</pubDate><description><![CDATA[PB 高级 DLL system library]]></description><category></category></item><item><title><![CDATA[PB的扩展DLL开发（超级篇）（六）]]></title><link>https://blog.youkuaiyun.com/lxbin2003/article/details/125335521</link><guid>https://blog.youkuaiyun.com/lxbin2003/article/details/125335521</guid><author>lxbin2003</author><pubDate>Fri, 17 Jun 2022 16:48:12 +0800</pubDate><description><![CDATA[PB 高级 DLL 开发]]></description><category></category></item><item><title><![CDATA[PB的扩展DLL开发（超级篇）（五）]]></title><link>https://blog.youkuaiyun.com/lxbin2003/article/details/125321315</link><guid>https://blog.youkuaiyun.com/lxbin2003/article/details/125321315</guid><author>lxbin2003</author><pubDate>Thu, 16 Jun 2022 18:42:52 +0800</pubDate><description><![CDATA[PB DLL 超级篇]]></description><category></category></item><item><title><![CDATA[PB调用DLL的常见问题及处理方法]]></title><link>https://blog.youkuaiyun.com/lxbin2003/article/details/124652012</link><guid>https://blog.youkuaiyun.com/lxbin2003/article/details/124652012</guid><author>lxbin2003</author><pubDate>Sun, 08 May 2022 18:19:03 +0800</pubDate><description><![CDATA[PB调用DLL的常见问题及处理方法



首先，为方便描述，先假设有一个DLL文件，名称为 test.dll，里面有个函数叫test。



第一类：通用型标准DLL

1、调用约定问题。Windows系统的标准DLL，通常有2种调用约定，即__cdecl和__stdcall，__stdcall约定在.h文件中通常又定义为 WINAPI和CALLBACK。咱们的PB只能调用__stdcall约定的DLL，不能调用__cdecl约定的DLL。







如果调用了__cdecl约定的函数，会报以上错误。.]]></description><category></category></item><item><title><![CDATA[cairo显示多行文本]]></title><link>https://blog.youkuaiyun.com/lxbin2003/article/details/124594199</link><guid>https://blog.youkuaiyun.com/lxbin2003/article/details/124594199</guid><author>lxbin2003</author><pubDate>Thu, 05 May 2022 17:58:16 +0800</pubDate><description><![CDATA[在使用 cairo 绘制文本时，发现它不能绘制多行文本，搜索到官网[cairo] automatic multi-line text?，它说需要使用Pango库，这就痛苦了。

于是研究了一下cairo源码，自己实现了一下。附上函数：


#define HAVE_STDINT_H 1
#define HAVE_CONFIG_H 1
#include "cairo/cairo-private.h"
#include "cairo/cairo-compiler-private.h"
#include "...]]></description><category></category></item><item><title><![CDATA[PbIdea 如何导入医保大文件]]></title><link>https://blog.youkuaiyun.com/lxbin2003/article/details/124184297</link><guid>https://blog.youkuaiyun.com/lxbin2003/article/details/124184297</guid><author>lxbin2003</author><pubDate>Thu, 14 Apr 2022 23:01:47 +0800</pubDate><description><![CDATA[PbIdea 如何导入医保大文件？



国家医保项目以zip格式提供药品、材料库下载，zip文件里面是一个文本文件，文本文件是utf8编码，解压出来有好几百M。这个文件对PB来说，比较难处理。PbIdea有专门功能来处理这个文件。

首先使用 uo_httpclient或uo_curl对象，根据医保接口文档将zip文件下载，存为文件。假设文件存为d:\ 202202187369608330634159091.zip。接下来介绍如何把这个压缩包里的数据导入数据库。

第一步：解析数据文件，把它分解成若干个小]]></description><category></category></item><item><title><![CDATA[Pbidea库关于PB核心代码保护的一个方案]]></title><link>https://blog.youkuaiyun.com/lxbin2003/article/details/123937536</link><guid>https://blog.youkuaiyun.com/lxbin2003/article/details/123937536</guid><author>lxbin2003</author><pubDate>Sun, 03 Apr 2022 14:46:41 +0800</pubDate><description><![CDATA[Pbidea库关于PB核心代码保护的一个方案



我们写程序，总是希望自己的代码不容易被别人破解，有一定安全性。尤其是用PB写CS程序，如果代码被pbkiller之类的工具轻易反编译了，数据连接等信息、加密方法等就一止了然，别人可以直接使用这些信息连接到数据库，其影响不可估量。当然，也有人不在乎这些安全考量，那就不在此考虑之类，可以忽略本文。

一、pbidea库核心代码安全保护方案

1．给应用程序正常添加库文件。将核心代码单独放到一个pbl里面，库名称随意指定，这里假设我们指定的名称是panda.pb]]></description><category></category></item><item><title><![CDATA[第一次使用Pocket-PowerBuilder和开发DLL的经历]]></title><link>https://blog.youkuaiyun.com/lxbin2003/article/details/123250917</link><guid>https://blog.youkuaiyun.com/lxbin2003/article/details/123250917</guid><author>lxbin2003</author><pubDate>Thu, 03 Mar 2022 12:31:40 +0800</pubDate><description><![CDATA[第一次使用Pocket-PowerBuilder和开发DLL的经历



有位朋友使用Pocket-PowerBuilder（以下简称PPB）开发PDA上使用的APP，遇到一个问题，找我帮忙：DLL在PDF上调用失败。以前听闻过这个版本，以为在 windows CE上跑，和windows平台没多大差别，结果是我想简单了。特此记录一下这次经历。

1.常规操作，打开虚拟机，安装windows xp sp3。顺利！

2.安装PPB。顺利！

3.找到wince 6.0 模拟器。

4.安装 vs2008 + ]]></description><category></category></item><item><title><![CDATA[datawindow中正确使用字体的重要性]]></title><link>https://blog.youkuaiyun.com/lxbin2003/article/details/122918521</link><guid>https://blog.youkuaiyun.com/lxbin2003/article/details/122918521</guid><author>lxbin2003</author><pubDate>Mon, 14 Feb 2022 09:50:18 +0800</pubDate><description><![CDATA[datawindow中正确使用字体的重要性



    datawindow界面设计中，许多人忽略了字体选择，字段往DW上一拖，一放，默认是 Arial字体，也不会去调整它。如果是英文字体，倒也无关紧要，但如果内容里有中文，那差别就太大了，这时候就应该选择合适的中文字体。下面就这个区别进行一下分析。





    首先是打开体会上，就这样一个简单的DW，第一列使用Arial字体，打开时就有明显迟滞，如果改为宋体，则几乎感觉不到停顿，打开时丝一般顺滑。

    接下来，测试生成...]]></description><category></category></item><item><title><![CDATA[Datawindow中如何快捷方便地使用二维码、条码]]></title><link>https://blog.youkuaiyun.com/lxbin2003/article/details/122534798</link><guid>https://blog.youkuaiyun.com/lxbin2003/article/details/122534798</guid><author>lxbin2003</author><pubDate>Mon, 17 Jan 2022 10:33:58 +0800</pubDate><description><![CDATA[Datawindow中如何快捷方便地使用二维码、条码]]></description><category></category></item><item><title><![CDATA[PbIdea功能系列之PowerBuilder高级图像处理功能]]></title><link>https://blog.youkuaiyun.com/lxbin2003/article/details/122290643</link><guid>https://blog.youkuaiyun.com/lxbin2003/article/details/122290643</guid><author>lxbin2003</author><pubDate>Mon, 03 Jan 2022 18:33:31 +0800</pubDate><description><![CDATA[PbIdea功能系列之PowerBuilder高级图像处理功能





我们知道，PowerBuilder是CS桌面应用的开发利器，具方便、快捷、高效的特点。然而，PowerBuilder的特长在数据库方面，对于图像处理这块，功能几乎是一片空白，只有几个简单的图形形状，更谈不上图片处理与加工，甚至有些格式都不支持。

本文着重于介绍利用PbIdea扩展库，增强PB图片处理功能。

一、uo_image对象

uo_image对象着重于图片显示、转换、缩放等处理的一些基础功能，着重实现图片的工具性功能。

]]></description><category></category></item><item><title><![CDATA[PbIdea功能库用于新医保项目快速入门]]></title><link>https://blog.youkuaiyun.com/lxbin2003/article/details/121891521</link><guid>https://blog.youkuaiyun.com/lxbin2003/article/details/121891521</guid><author>lxbin2003</author><pubDate>Sun, 12 Dec 2021 18:43:18 +0800</pubDate><description><![CDATA[PbIdea 新医保 快速入门]]></description><category></category></item><item><title><![CDATA[PowerBuilder中调用DLL参数类型]]></title><link>https://blog.youkuaiyun.com/lxbin2003/article/details/121527801</link><guid>https://blog.youkuaiyun.com/lxbin2003/article/details/121527801</guid><author>lxbin2003</author><pubDate>Wed, 24 Nov 2021 23:36:59 +0800</pubDate><description><![CDATA[PowerBuilder中可以使用外部DLL来扩展程序功能。但在实际使用中，许多人并不了解如何 做好类型对应声明。类型声明错误，甚至调用错误，会导致隐藏bug，往往在多次调用后系统会崩溃而不自知。本文就DLL声明参数做一些分析，希望对一些使用者有一些引导作用。]]></description><category></category></item><item><title><![CDATA[PowerBuilder线程使用中的一个坑]]></title><link>https://blog.youkuaiyun.com/lxbin2003/article/details/121494361</link><guid>https://blog.youkuaiyun.com/lxbin2003/article/details/121494361</guid><author>lxbin2003</author><pubDate>Tue, 23 Nov 2021 15:36:48 +0800</pubDate><description><![CDATA[PowerBuilder shared 线程 ]]></description><category></category></item><item><title><![CDATA[PB的扩展DLL开发（超级篇）（四）]]></title><link>https://blog.youkuaiyun.com/lxbin2003/article/details/118724777</link><guid>https://blog.youkuaiyun.com/lxbin2003/article/details/118724777</guid><author>lxbin2003</author><pubDate>Wed, 14 Jul 2021 12:25:27 +0800</pubDate><description><![CDATA[PB的扩展DLL开发（超级篇）（四）

(PB史上第一次开放的开发技术)



前面已介绍过OB_THIS和OB_DATA这两个结构。本章介绍如何获取到PB里传给system library DLL 的各种参数和返回值。

一、参数

第一个函数：

function any GetGlobalVar(string strVarname) system library "PbJson.dll" alias for "GetGlobalVar"

这个函数它有个字符串参数，这个参数在DLL里是一个指针，所以取]]></description><category></category></item><item><title><![CDATA[PB的扩展DLL开发（超级篇）（三）]]></title><link>https://blog.youkuaiyun.com/lxbin2003/article/details/118544277</link><guid>https://blog.youkuaiyun.com/lxbin2003/article/details/118544277</guid><author>lxbin2003</author><pubDate>Wed, 07 Jul 2021 12:40:44 +0800</pubDate><description><![CDATA[PB的扩展DLL开发（超级篇）（三）

(PB史上第一次开放的开发技术)



最核心的一个结构，OB_THIS ，这个在上一章已做过介绍。本章介绍OB_DATA 这个结构。这个结构的重要程度仅次于OB_THIS。

OB_DATA是PB里各种类型的数据参数在DLL里的存在形式。你在PB里写的代码例如

Int I; long n;string ls_text; window w;….. 这些，对照到C内部的映射，它们全部都是一个OB_DATA指针。在这个函数里__declspec(dllexport) D]]></description><category></category></item><item><title><![CDATA[PB的扩展DLL开发（超级篇）（二）]]></title><link>https://blog.youkuaiyun.com/lxbin2003/article/details/118214878</link><guid>https://blog.youkuaiyun.com/lxbin2003/article/details/118214878</guid><author>lxbin2003</author><pubDate>Fri, 25 Jun 2021 11:20:46 +0800</pubDate><description><![CDATA[PB的扩展DLL开发（超级篇）（二）

(PB史上第一次开放的开发技术)



上一章里，我们说到system library 里的函数声明为下面这样的方式。

__declspec(dllexport) DWORD __stdcall FuncName(POB_THIS obThis,int nArgCount)

{

 BOOL isnull;

 return 1;

}



其中第一个参数POB_THIS obThis 是每个函数的核心，本篇重点介绍一下核心结构O...]]></description><category></category></item><item><title><![CDATA[PB的扩展DLL开发（超级篇）]]></title><link>https://blog.youkuaiyun.com/lxbin2003/article/details/118193313</link><guid>https://blog.youkuaiyun.com/lxbin2003/article/details/118193313</guid><author>lxbin2003</author><pubDate>Thu, 24 Jun 2021 17:49:21 +0800</pubDate><description><![CDATA[PB的扩展DLL开发（超级篇）



PowerBuilder (pb)作为一个基于数据库的CS开发工具，在功能方面不够全面，需要使用 DLL做功能扩展。

通常对PB写DLL，有3种方法。

方法1：通用DLL。这种方式的DLL，所有能写标准DLL的语言都可以写。但缺点也比较明显，无法直接访问PB对象和属性、事件这些个性内容，不合适直接返回字符串，通过参数返回数据时，需要预分配内存，如果计算错误，会导致程序崩溃。

方法2：PBNI法（PowerBuilder Native Interface），即官方开]]></description><category></category></item></channel></rss>