本文目录一览:
PHP可以使用VB把他的核心代码封装成DLL嘛?
PHP使用VB封装成DLL?没有试过。
不过,Zend Corporation ()
开发的产品 Zend Studio 可以装PHP进行编译,编译过的PHP运行速度比不编译的要快。而且,因为编译后生成的是二进制文件,所以,Zend Studio 也就达到了为PHP加密的功能(虽然国内已经有人开发了一种能对被Zend Studio某些版本编译过的PHP进行反编译,从而得到源代码)。Zend Studio并不是免费的。-php使用vb编写的dll文件
经过编译后的PHP程序不能够再运行,你的服务器上必须装有Zend 公司的另一免费产品:Zend Optimizer。使用Zend Optimizer 后,就可以在你的服务器上正常运行编译过的PHP程序了。-php使用vb编写的dll文件
怎么用VB编写DLL?
打开VB,然后先中“ActiveX Dll”工程,然后开始编辑。
编完后,保存一般是以“.cls”和“.vbw”保存。这时你选择“文件”菜单,弹出下拉框,选中“生成.dll”选项,它就会在上面弹出一个进度条“正在生成.dll文件”。
生成以后是一个有好象齿轮状的图标。如果你要引用,就开一个“标准EXE”工程,然后在“工程”选项中,单击“引用”。
找到你刚才的“.dll”的文件名,在前面的复选框中打勾,就可以引用你刚才在那里面写的方法了。
用VB编写的ACTIVEX DLL,asp页面调用时是正常,php调用结果不对
那是因为php和asp还有vb里面字符串的格式不同
vb的字符串是个BSTR结构,asp应该也是,但php的字符串有它自己的结构
所以你把php的字符串传给vb的dll会出问题, 就像在vc里面把字符串传给vb的dll不处理的话也会出问题(要先转成bstr才行)
php转bstr很难……几乎实现不了。如果你非要这么用,那你要改一下你那个组件里的函数:
传递进来的参数你要按照php的字符串格式来解析,并且返回也要返回php的字符串。php字符串的格式可以去zend的官方网站上面找找,做php扩展里面有介绍。另外你可以在你那个函数里再加一个32位数字型参数(long),表示传进来的asp还是php的字符串,分别对待-php使用vb编写的dll文件