主题:程序的扩展性(BPL+DLL)

主题:程序的扩展性(BPL+DLL)

主题:程序的扩展性(BPL+DLL)
时间:星期一下午(2004-11-22 15:00)
主持:A1 / A3

关联
A3的Demo: http://www.hnyyzy.com/myweb/dksoft/DLL_BPL.rar

2004-11-22 15:06:45 A1.Aleyn.wu(45198124)
今天的主题:利用BPL+DLL扩展程序的扩展性

2004-11-22 15:08:06 A3.武稀松(42088303)
A1打算从哪方面说起

2004-11-22 15:08:43 A1.Aleyn.wu(45198124)
先从BPL的特征说起吧,BPL你比我熟,你来说说。

2004-11-22 15:09:19 A1.Aleyn.wu(45198124)
说说:BPL是什么东西,它包含了什么东西。

2004-11-22 15:09:57 欧阳(39379872)
然后请再讲讲如何实现,最好能有一个带注释的例子

2004-11-22 15:10:09 A3.武稀松(42088303)
BPL其实就是动态链接库DLL的一种形式

2004-11-22 15:10:11 C03.MUSIC(281361369)
BPL = Borland project library ?

2004-11-22 15:10:36 A1.Aleyn.wu(45198124)
理论方面讲一下的话,会比较容易听一点。

2004-11-22 15:11:08 B4.松鼠(64652023)
bpl文件类似于一个动态链接库

2004-11-22 15:11:14 飘尘(43745429)
最基本一点DELPHI产生的BPL比DLL小N倍

2004-11-22 15:11:29 A3.武稀松(42088303)
BPL是Borland对DLL得意中扩展

2004-11-22 15:11:35 飘尘(43745429)
做个实验就知道了

2004-11-22 15:11:48 A3.武稀松(42088303)
里面约定好了调用方式

2004-11-22 15:12:15 A1.Aleyn.wu(45198124)
对,“里面约定好了调用方式”,下面就会利用这个思想了。

2004-11-22 15:13:32 飘尘(43745429)
[;d]约定好了调用方式,怎么个说法。解释一下了

2004-11-22 15:13:42 A3.武稀松(42088303)
就是说

2004-11-22 15:14:11 A3.武稀松(42088303)
BPL中的输出函数约定好了名称,例如

2004-11-22 15:14:27 A1.Aleyn.wu(45198124)
BPL最大的特征就是“共享”

2004-11-22 15:15:03 A3.武稀松(42088303)
单元A里面的函数B编译后函数名就会变成
@A@B$qqrv

2004-11-22 15:16:02 A3.武稀松(42088303)
后面的qqrv是固定死的。Delphi3以前不是qqrv 结尾的。Delphi3以后才以qqrv 结尾

2004-11-22 15:16:25 A1.Aleyn.wu(45198124)
qqrv是什么,我们可以先不管它。

2004-11-22 15:16:33 A3.武稀松(42088303)
一般我们动态载入包用什么函数哪

2004-11-22 15:17:09 TCP/IP INFO(31329846)
LoadPackage

2004-11-22 15:17:30 D3天之痕若虹(86278566)
loadlibrary

2004-11-22 15:18:05 飘尘(43745429)
LoadPackage loadlibrary 的差另是什么大家仔细看了没有呀

2004-11-22 15:18:18 A3.武稀松(42088303)
LoadLibriary 是载入动态链接库,LoadPackage是载入包。当然包也是动态链接库所以LoadLibrary也适合包的载入

2004-11-22 15:19:14 A3.武稀松(42088303)
实际上LoadPackage最终也是要调用LoadLibrary的

2004-11-22 15:19:15 C03.MUSIC(281361369)
这两个函数是否主要用在运行期包中

2004-11-22 15:19:41 TCP/IP INFO(31329846)
LoadLibrary是API

2004-11-22 15:20:23 A3.武稀松(42088303)

2004-11-22 15:21:04 A3.武稀松(42088303)
那么如何获得包里的信息哪

2004-11-22 15:21:27 大羽(393921295)
rtti

2004-11-22 15:21:29 A1.Aleyn.wu(45198124)
请待我(就是A3啦)详细道来。

2004-11-22 15:22:01 飘尘(43745429)
GETCLASS

2004-11-22 15:22:27 A3.武稀松(42088303)
那你怎么获得包里面有那些单元,有哪些运行需要的包哪

2004-11-22 15:22:48 B10.Dana(81828019)
运行期包跟设计期包有什么区别?

2004-11-22 15:23:52 A3.武稀松(42088303)
Delphi和BCB有一个函数GetPackageInfo大家研究过没有

2004-11-22 15:24:35 B10.Dana(81828019)
这个是取得包的信息吗?
 
2004-11-22 15:25:19 A3.武稀松(42088303)
上次A1把我在DFW上的一个文章专题到我们的网站上,里面就是关于包的动态载入的

2004-11-22 15:25:33 A3.武稀松(42088303)
procedure GetPackageInfo(Module: HMODULE; Param: Pointer; var Flags: Integer; InfoProc: TPackageInfoProc);

2004-11-22 15:25:41 TCP/IP INFO(31329846)
动态加载和动态注册类技术的深入探索

2004-11-22 15:26:13 A3.武稀松(42088303)
第一个参数就是动态链接库的句柄,也就是LoadLibrary返回的那个咚咚

2004-11-22 15:28:13 A3.武稀松(42088303)
第二个参数是句柄的指针,第三个参数是标志我还没能研究出来。第四个是一个回调函数

2004-11-22 15:28:47 A3.武稀松(42088303)
TPackageInfoProc = procedure (const Name: string; NameType: TNameType; Flags: Byte; Param: Pointer);

2004-11-22 15:29:39 A3.武稀松(42088303)
其中NameType参数就是穿过来的具体类型。

2004-11-22 15:30:37 A3.武稀松(42088303)
只要了结这个用法。我们就可以使用LoadLibrary方式装载Delphi3以上任何版本的包,而不用区分版本号

2004-11-22 15:32:15 A3.武稀松(42088303)
但是有一点因为包里面用到的VCL包是有版本号的,所以然大家失望了,还是需要带上相对应版本的的VCL运行包

2004-11-22 15:33:12 A3.武稀松(42088303)
包我想就说这么多吧。也该A1巴一下DLL了。当当当当~~~~,请A1出场

2004-11-22 15:33:15 D10.天地弦(185511468)
程序的扩展,一定要用到BPL吗?

2004-11-22 15:33:44 TCP/IP INFO(31329846)
用Dll也一样吧

2004-11-22 15:33:44 Behine(89782935)
怎么调用bpl?

2004-11-22 15:33:46 A3.武稀松(42088303)
至于为什么要用BPL,这个好处我就不说了,留给A1来讲

2004-11-22 15:34:00 A1.Aleyn.wu(45198124)
不一定要BPL,但有BPL更好扩展。

2004-11-22 15:34:07 A3.武稀松(42088303)
我还是不说

2004-11-22 15:34:14 A3.武稀松(42088303)
A1快出来啊。

2004-11-22 15:34:32 大羽(393921295)
同getpackageinfo可以得到所有信息?

2004-11-22 15:34:43 A1.Aleyn.wu(45198124)
刚才我说过了,BPL最大的特证就是“共享”

2004-11-22 15:34:59 A3.武稀松(42088303)
BPL和DLL混合开发自然有他的好处。这个是纯DLL无法比拟的

2004-11-22 15:36:11 A1.Aleyn.wu(45198124)
从程序大小来讲,BPL+DLL在小程序中作用不大,但是系统大了,好处就出来了。

2004-11-22 15:36:17 B4.松鼠(64652023)
dll也可以共享啊

2004-11-22 15:36:29 飘尘(43745429)
BPL可以减小程序体积呀

2004-11-22 15:36:43 A1.Aleyn.wu(45198124)
纯DLL共享没有BPL+DLL容易。

2004-11-22 15:37:07 A3.武稀松(42088303)
B4有没有试验过在纯DLL程序中用Is、AS操作符

2004-11-22 15:37:08 A1.Aleyn.wu(45198124)
这是其一。

2004-11-22 15:37:28 飘尘(43745429)
偶最大的感觉是DELPHI写的BPL出错少 DLL 偶常常遇到错误

2004-11-22 15:37:48 A1.Aleyn.wu(45198124)
其二,内存管理。

2004-11-22 15:38:26 A1.Aleyn.wu(45198124)
纯DLL的内存管理虽然也可以做到共享,但不容易。

2004-11-22 15:38:27 A3.武稀松(42088303)
DLL常常出错多半是因为地址空间的不一致。A1说的BPL+DLL就是为了解决这个问题。所以请往下听

2004-11-22 15:38:43 A1.Aleyn.wu(45198124)
BPL+DLL就不存在这个问题了。

2004-11-22 15:39:09 A1.Aleyn.wu(45198124)
其三:类的问题。

2004-11-22 15:39:50 A1.Aleyn.wu(45198124)
纯DLL的类操作会有问题,刚才A3说过了,IS,AS会有问题。

2004-11-22 15:40:25 A1.Aleyn.wu(45198124)
BPL+DLL则不会,但原则是EXE和DLL都必须包涵同一个BPL。

2004-11-22 15:41:58 A3.武稀松(42088303)
用BPL+DLL可以不用考虑过多。直接开发就行了。和一个单独的EXE分别不大

2004-11-22 15:42:39 A1.Aleyn.wu(45198124)
其四,类的注册和查找问题。

2004-11-22 15:42:52 A3.武稀松(42088303)
我认为最重要的是大大减少了出错的机会,方便了开发。无需考虑太多

2004-11-22 15:43:32 B1.斜阳(249208513)
什么叫做在DLL中使用IS或者AS会有问题?(在什么场景下出问题)

2004-11-22 15:43:35 A1.Aleyn.wu(45198124)
纯DLL的类注册无效,BPL+DLL则可以用。

2004-11-22 15:44:12 A3.武稀松(42088303)
纯DLL的类注册无效,还是地址空间引起的。因为注册类的管理器也是两分的

2004-11-22 15:45:04 B4.松鼠(64652023)
249208513(B1.斜阳) 15:43:32
什么叫做在DLL中使用IS或者AS会有问题?(在什么场景下出问题) 

2004-11-22 15:45:19 A3.武稀松(42088303)
B1的问题也一样,纯DLL因为VCL的类在EXE和DLL中个有一分,所以IS\AS操作肯定无效的

2004-11-22 15:45:44 A1.Aleyn.wu(45198124)
A3说的和我说的一样。

2004-11-22 15:45:54 A1.Aleyn.wu(45198124)
FR(FASTREPORT)就是一个特例。

2004-11-22 15:46:02 B1.斜阳(249208513)
要是我把类放在DLL中,EXE中只维护一个引用呢?

2004-11-22 15:47:04 A3.武稀松(42088303)
249208513(B1.斜阳) 15:46:02
要是我把类放在DLL中,EXE中只维护一个引用呢?
那不是很麻烦,我说DLL+BPL就在于不用考虑其他的问题。和开发单独EXE一样

2004-11-22 15:47:40 A3.武稀松(42088303)
A1能说说FR有什么特殊之处么

2004-11-22 15:47:48 A1.Aleyn.wu(45198124)
B1,你说的其实就已经是抽象类或接口类引出的了。

2004-11-22 15:48:48 B1.斜阳(249208513)
有这个意思,我只是觉得你和A3讲的太快

2004-11-22 15:49:17 B1.斜阳(249208513)
跳跃的太大,有点跟不上,所以问问

2004-11-22 15:49:56 /:>D10.天地弦(185511468)
45198124(A1.Aleyn.wu) 15:40:25
BPL+DLL则不会,但原则是EXE和DLL都必须包涵同一个BPL。
包函同一个包是不是指带包?

2004-11-22 15:50:03 B1.斜阳(249208513)
讲课,就要讲出个所以然来,光说说现象好像不够

2004-11-22 15:50:35 A1.Aleyn.wu(45198124)
对。

2004-11-22 15:50:39 A3.武稀松(42088303)
所以说希望大家踊跃讨论。我们大家共同研究,就能解决好些疑问

2004-11-22 15:51:04 A1.Aleyn.wu(45198124)
讲完了BPL的基本理论,就该讲正题了。

2004-11-22 15:51:35 飘尘(43745429)
BPL和接口的结合

2004-11-22 15:51:39 B4.松鼠(64652023)
为什么bpl要和dll共用?只bpl不好吗?

2004-11-22 15:52:08 A1.Aleyn.wu(45198124)
刚才所讲的,是因为如果不知道BPL的一些知识的话,可能下面不好理解。

2004-11-22 15:53:10 TCP/IP INFO(31329846)
也就是说,在Exe中定义一个接口,在Dll中引用了,用 is 或As 不好使,在Bpl中就行?

2004-11-22 15:53:28 A3.武稀松(42088303)
大家只要记住A1上面说的,BPL最大的好处就是共享。这句话就是BPL的精髓,BPL的一切好处皆来源于此

2004-11-22 15:53:37 C03.MUSIC(281361369)
A1,有没有必要将对象库和BPL对照讲一下?

2004-11-22 15:54:12 B1.斜阳(249208513)
共享到什么程度呢,线程和线程之间、进程和进程之间?

2004-11-22 15:54:27 A1.Aleyn.wu(45198124)
大型系统(例如ERP,MIS之类),如果把所有的模块编译成一个程序的话,

2004-11-22 15:54:35 A3.武稀松(42088303)
共享到就像在一个EXE里面一样

2004-11-22 15:54:41 C03.MUSIC(281361369)
可否说成BPL是DELPHI内的共享,DLL是可以跨平台的共享

2004-11-22 15:54:44 /:>D10.天地弦(185511468)
31329846(TCP/IP INFO) 15:53:10
也就是说,在Exe中定义一个接口,在Dll中引用了,用 is 或As 不好 使,在Bpl中就行? ==>应该是说一个对象吧

2004-11-22 15:55:38 A1.Aleyn.wu(45198124)
不但升级不大好用,维修也不大好。

2004-11-22 15:56:23 飘尘(43745429)
BPL跟接口结合偶感觉是最爽的

2004-11-22 15:56:59 /:>D10.天地弦(185511468)
BPL共享很多东西,当然爽啦

2004-11-22 15:57:00 A1.Aleyn.wu(45198124)
如果把模块分成一个个DLL,每个DLL分给不同的程序员开发,

2004-11-22 15:57:18 A1.Aleyn.wu(45198124)
就会方便多了(还是屁话)。

2004-11-22 15:57:55 A3.武稀松(42088303)
还有,要升级某个模块只要替换下来那个DLL就可以个

2004-11-22 15:57:56 A1.Aleyn.wu(45198124)
问题关键是:如果把DLL方便的加入EXE中。

2004-11-22 15:58:01 /:>D10.天地弦(185511468)
分模块开发,维护方便,分工方便,升级方便

2004-11-22 15:58:42 B1.斜阳(249208513)
大家听A1讲吧,有不明白的先留着

2004-11-22 15:59:05 A3.武稀松(42088303)
还有如果是动态载入的话还可以实现插件,程序几乎是无限扩充的

2004-11-22 15:59:10 A1.Aleyn.wu(45198124)
在系统大框架中,EXE可以做到只是起一个环境,

2004-11-22 16:00:14 A1.Aleyn.wu(45198124)
它只是在管理DLL的加载,形成环境

2004-11-22 16:00:46 A1.Aleyn.wu(45198124)
并初始化DLL

2004-11-22 16:01:22 A1.Aleyn.wu(45198124)
如果是MDI,或是 TAB形式的DLL子界面,

2004-11-22 16:02:35 A1.Aleyn.wu(45198124)
则EXE需要把DLL整合到EXE中,包括ACTION,MENU,TOOLBAR,都要整合。

2004-11-22 16:02:50 A1.Aleyn.wu(45198124)
所以说,

2004-11-22 16:03:43 A1.Aleyn.wu(45198124)
程序的扩展性,实际上就是如何做好EXE和DLL之间沟通的协议。

2004-11-22 16:04:35 A3.武稀松(42088303)
45198124(A1.Aleyn.wu) 16:03:43
程序的扩展性,实际上就是如何做好EXE和DLL之间沟通的协议。
这个协议好像就是要定义好固定的输出函数吧

2004-11-22 16:05:30 D1.jackey(409485288)
42088303(A3.武稀松) 16:04:35
45198124(A1.Aleyn.wu) 16:03:43
程序的扩展性,实际上就是如何做好EXE和DLL之间沟通的协议。
这个协议好像就是要定义好固定的输出函数吧 ==>应分开, 类 组件。 纯function.

2004-11-22 16:05:37 A1.Aleyn.wu(45198124)
这个协议包涵:
DLL初始化,类(特别是子界面)的注册,ACTION,MENU,TOOLBAR的注册(这三个看个人需求),函数的输出。

2004-11-22 16:07:56 A1.Aleyn.wu(45198124)
从EXE的角度来看,

2004-11-22 16:08:10 A3.武稀松(42088303)
如果类都放在BPL里面代包运行的的话,只要BPL是静态加载的完全可以不用注册类

2004-11-22 16:09:22 A1.Aleyn.wu(45198124)
对,但这样的话,包的编译方法和如何带包就成了一个问题。

2004-11-22 16:09:55 A3.武稀松(42088303)
包的编译方法和如何带包就成了一个问题。什么意思?

2004-11-22 16:09:59 A1.Aleyn.wu(45198124)
比如,你的子模块的包名是:A.BPL

2004-11-22 16:10:25 A1.Aleyn.wu(45198124)
EXE中是不是需要把A.BPL带包编译进去?

2004-11-22 16:10:55 A3.武稀松(42088303)
对呀,EXE和DLL都带这个包啊

2004-11-22 16:11:17 D1.jackey(409485288)
你的意思是exe先不知这个包存在的情况下动态加入?

2004-11-22 16:11:20 A1.Aleyn.wu(45198124)
或许A3可以用LoadPackage的方法。

2004-11-22 16:11:30 A1.Aleyn.wu(45198124)
D1,对。

2004-11-22 16:11:34 D1.jackey(409485288)
ok.

2004-11-22 16:11:36 A1.Aleyn.wu(45198124)
我是这样做的。

2004-11-22 16:12:00 A3.武稀松(42088303)
我说的是静态载入的情况下。和开发一个单独EXE程序一样啊

2004-11-22 16:12:29 D1.jackey(409485288)
42088303(A3.武稀松) 16:12:00
我说的是静态载入的情况下。和开发一个单独EXE程序一样啊 =>不是plug in.

2004-11-22 16:12:42 A1.Aleyn.wu(45198124)
程序的扩展,最好做到EXE与DLL无关。

2004-11-22 16:13:13 A1.Aleyn.wu(45198124)
EXE只包涵基本类包。

2004-11-22 16:13:22 A1.Aleyn.wu(45198124)
DLL也只包函基本类包。

2004-11-22 16:13:27 A3.武稀松(42088303)
包是静态加载的,DLL可以是动态加载的。这样就做到了A1说的,而又最大范围的实现了共享

2004-11-22 16:13:49 A1.Aleyn.wu(45198124)
对,这样才是BPL+DLL的好外。

2004-11-22 16:14:50 /:>D10.天地弦(185511468)
包不可以动态加载?

2004-11-22 16:15:06 飘尘(43745429)
包是静态加载的对这个偶就不明白了

2004-11-22 16:15:18 A3.武稀松(42088303)
也可以,但就做不到了一些开发的方便之处

2004-11-22 16:15:26 D1.jackey(409485288)
42088303(A3.武稀松) 16:13:27
包是静态加载?==>不是动态?

2004-11-22 16:15:33 A1.Aleyn.wu(45198124)
对,包动态不好开发。

2004-11-22 16:15:38 A1.Aleyn.wu(45198124)
还不如DLL方便。

2004-11-22 16:16:17 A3.武稀松(42088303)
动态加载开发的时候就不能知道有哪些信息

2004-11-22 16:17:09 A3.武稀松(42088303)
不是不可以,只是说开发的时候不能做到知道信息。麻烦而已。不是不能实现

2004-11-22 16:18:14 A3.武稀松(42088303)
比如静态加载我可以,在单元里Uses包里面的单元。动态开发要获得包的信息才行

2004-11-22 16:18:47 A1.Aleyn.wu(45198124)
先不管动不动态包了。

2004-11-22 16:19:08 A1.Aleyn.wu(45198124)
我们只需要这样定义,静态的BPL+动态的DLL

2004-11-22 16:19:53 A1.Aleyn.wu(45198124)
BPL只包函基本的类和双方需要经常共用的东西。

2004-11-22 16:20:29 A3.武稀松(42088303)
强烈建议这种开发方式(静态的BPL+动态的DLL),如果大家去体验一下,一行会爱上这种开发方式的。
(好像广告用语[:P])

2004-11-22 16:20:30 TCP/IP INFO(31329846)
接口,和基类

2004-11-22 16:20:57 A1.Aleyn.wu(45198124)
DLL则是包涵子模块,函数等。

2004-11-22 16:21:36 TCP/IP INFO(31329846)
BPL 里 放 接口,和基类,Dll放子类及其实现,是吗

2004-11-22 16:21:45 A1.Aleyn.wu(45198124)
对。

2004-11-22 16:21:47 A3.武稀松(42088303)
建议抽象类,接口等都放在BPL里面。DLL里面做具体的实现

2004-11-22 16:22:01 A1.Aleyn.wu(45198124)
对。

2004-11-22 16:22:54 TCP/IP INFO(31329846)
明白做法了

2004-11-22 16:22:57 D1.jackey(409485288)
公用function呢?

2004-11-22 16:23:23 A1.Aleyn.wu(45198124)
公用的F可以放在DLL也可以放在BPL。

2004-11-22 16:24:04 TCP/IP INFO(31329846)
放在BPL中比较方便,放在DLL中比较灵活

2004-11-22 16:24:09 飘尘(43745429)
偶喜欢BPL。除非要其它的程序调用

2004-11-22 16:24:11 D1.jackey(409485288)
如同delphi作的那样,sysUtil直放在bpl.比dll好一些的.

2004-11-22 16:24:23 D1.jackey(409485288)
是不是

2004-11-22 16:24:38 飘尘(43745429)
要是其它程序调用就要做DLL了

2004-11-22 16:25:17 D1.jackey(409485288)
43745429(飘尘) 16:24:38
要是其它程序调用就要做DLL了 =》是其它bpl? dll? or exe?

2004-11-22 16:25:29 TCP/IP INFO(31329846)
公用Func放在BPL里以后要加东西,是不是要都从新编译呀

2004-11-22 16:26:05 D1.jackey(409485288)
是不是建议一个只存公f的bpl

2004-11-22 16:26:22 飘尘(43745429)
要是你要发布给别人用了。另人用VB 你的BPL就不好办了

2004-11-22 16:26:56 TCP/IP INFO(31329846)
另人用VB,那只能是DLL

2004-11-22 16:27:03 C03.MUSIC(281361369)
DELPHI中存放公用的过程或函数,只放到一个公用的单元中就可以了,没有必要放到一个BPL中吧?

2004-11-22 16:27:24 C03.MUSIC(281361369)
公用

2004-11-22 16:27:36 TCP/IP INFO(31329846)
呵呵,用CVS公用一下

2004-11-22 16:27:48 TCP/IP INFO(31329846)
公用Func放在BPL里以后要加东西,是不是要都从新编译呀 

2004-11-22 16:27:56 D1.jackey(409485288)

2004-11-22 16:28:06 A1.Aleyn.wu(45198124)
如果函数的返回不是类的话,放在DLL比较好一点,反之则放在BPL比较好一些。  

2004-11-22 16:28:16 TCP/IP INFO(31329846)
放在DLL中不就不用了吗

2004-11-22 16:29:15 A1.Aleyn.wu(45198124)
现在来讲讲如何扩展了。

2004-11-22 16:32:39 TCP/IP INFO(31329846)
A1:现在来讲讲如何扩展了。

2004-11-22 16:34:07 TCP/IP INFO(31329846)
ACTION,MENU,TOOLBAR的注册,管理 不好处理,的实践

2004-11-22 16:35:55 TCP/IP INFO(31329846)
要自己去做,想,才好办呀

2004-11-22 16:36:14 大羽(393921295)
对很大的系统,确实好

2004-11-22 16:36:21 C03.MUSIC(281361369)
我想了也不好办呀

2004-11-22 16:40:00 TCP/IP INFO(31329846)
是呀,挺好的,不过我很想听听,ACTION,MENU,TOOLBAR 部分

2004-11-22 16:40:23 大羽(393921295)
但是在delphi里面做个大的系统,有不少的技术细节要解决!a3能不能用你做的实际项目,讲一下

2004-11-22 16:40:55 A3.武稀松(42088303)
那些技术细节?能说说么

2004-11-22 16:41:35 TCP/IP INFO(31329846)
大家觉得 嵌入式开发 咋样?

2004-11-22 16:42:41 TCP/IP INFO(31329846)
发展空间如何

2004-11-22 16:42:51 大羽(393921295)
发展空间很好

2004-11-22 16:43:26 A3.武稀松(42088303)
好啊,有空我可以做一个简单的DEMO

2004-11-22 16:43:32 TCP/IP INFO(31329846)
我想学

2004-11-22 16:43:59 大羽(393921295)
做个架构设计方案把

2004-11-22 16:44:23 TCP/IP INFO(31329846)
大家也不能总搞Delphi呀

2004-11-22 16:44:44 大羽(393921295)
我说了java,net现在很多也是这种

2004-11-22 16:45:02 大羽(393921295)
只是技术细节不同,实现方式不同

2004-11-22 16:45:08 大羽(393921295)
真的很好啊

2004-11-22 16:45:39 A1.Aleyn.wu(45198124)
TESTing

2004-11-22 16:45:47 TCP/IP INFO(31329846)
不是了,我说的是 搞软件程序的,以后的发展了

2004-11-22 16:45:56 -稳重(149898730)
先把DELPHI玩几年以后在说别的

2004-11-22 16:47:00 大羽(393921295)
a1,把今天讲的写个设计方案把

2004-11-22 16:47:18 A1.Aleyn.wu(45198124)
继续话题,B7,我的系统刚刚装完,就上来开课了,邮件还没装呢。

2004-11-22 16:47:20 B1.斜阳(249208513)
DELPHI是工具,通过这个锻炼你的思维,通过系统锻炼分析问题解决问题的能力,这是主要的

2004-11-22 16:47:59 A1.Aleyn.wu(45198124)
今天讲的东西都是我目前项目上用到的东西,有实际应用经验。

2004-11-22 16:49:49 TCP/IP INFO(31329846)
该讲 ACTION,MENU,TOOLBAR 部分了,[:D]

2004-11-22 16:49:54 -稳重(149898730)
A1,介绍介绍自己的,我对你不太了解的

2004-11-22 16:50:16 A1.Aleyn.wu(45198124)
我?小菜一个,不说也罢了。[:-|]

2004-11-22 16:51:23 A1.Aleyn.wu(45198124)
平时和队友们吹吹水,技术一般,BPL比不上A3,ERP比不上D1,三层比不上B1,生意经比不上C1,系统低层更比不上A2。

2004-11-22 16:51:25 B1.斜阳(249208513)
昨天去饭店,正菜没吃几口,倒是饭店赠送的小菜让我给吃光了,呵呵,A1,你说你是小菜?[:D]

2004-11-22 16:51:56 D1.jackey(409485288)
我来说. 前清时期坐过堂,北洋军中扛过枪;武昌城里落过荒,北伐战争帮过忙; 军阀混战称过王,南昌外围受过伤;万里长征翻过墙,敌后抗战偷 过羊; 决战平津扒过房,横渡长江喝过汤;鸭绿江边喂过狼,炮击金门擦过膛; 自卫还击骂过娘,改革开放扫过黄.

2004-11-22 16:51:57 B3.Locet(2212967)
啊~!!A1,那你就更像DELPHI了``

2004-11-22 16:52:24 B3.Locet(2212967)
在众多工具中,DELPHI也是这样的位置```

2004-11-22 16:52:26 A1.Aleyn.wu(45198124)
总之,就是不学无术的小混混,大侠们见笑了。

2004-11-22 16:52:31 A3.武稀松(42088303)
A1就是谦虚。可你是全能选手。通观全局啊

2004-11-22 16:53:16 A1.Aleyn.wu(45198124)
继续。

2004-11-22 16:54:30 D1.jackey(409485288)
BPL + DLL,要讲的太多。
大家省点时间
========================================================================
2004-11-22 16:55:15 A1.Aleyn.wu(45198124)
继续,程序的扩展。

2004-11-22 16:55:24 A1.Aleyn.wu(45198124)
是如何扩展。

2004-11-22 16:55:37 D1.jackey(409485288)
就系统构架来说,还是刚开了个头.

2004-11-22 16:55:48 A1.Aleyn.wu(45198124)
首先,

2004-11-22 16:56:36 A1.Aleyn.wu(45198124)
要想要好孩子,得先有好母亲。

2004-11-22 16:56:43 D1.jackey(409485288)
有空大家找出当初关于系统构架的讨论来看看,会更有好处.

2004-11-22 16:56:44 A1.Aleyn.wu(45198124)
EXE就是母亲。

2004-11-22 16:56:57 A1.Aleyn.wu(45198124)
对,找一找D1的记录。

2004-11-22 16:57:19 A1.Aleyn.wu(45198124)
DLL就是孩子。

2004-11-22 16:58:56 A1.Aleyn.wu(45198124)
母亲先建立环境。例如,界面的风格,GlobalConfig,子模块的依附形式,等等。

2004-11-22 16:59:50 A1.Aleyn.wu(45198124)
EXE并不知道DLL中子模块的类名。

2004-11-22 17:00:05 A1.Aleyn.wu(45198124)
这一切都在INI中设置。

2004-11-22 17:01:16 TCP/IP INFO(31329846)
子模块的类名也在Ini中?

2004-11-22 17:01:35 大羽(393921295)
好主意

2004-11-22 17:02:30 D1.jackey(409485288)
在那有关于架构设计的一些构思与问题点。 而A1.A3今天的课则是一个深化(我认为):如何设计程序主框架.方法是bpl+dll的结合.

2004-11-22 17:03:18 D1.jackey(409485288)
在这个框架下可以保持对系统的扩展性与灵活性.

2004-11-22 17:05:45 D1.jackey(409485288)
其实在INI中设置与放在数据库中没有太大的区别(主要是我习惯在数据表中[:D]), 最主要是要实现与主程序的分离

2004-11-22 17:06:26 大羽(393921295)
现在流行放在 xml中

2004-11-22 17:06:32 D1.jackey(409485288)

2004-11-22 17:08:35 D1.jackey(409485288)
我在考虑A1的做法: 在主模块中最主要的除了作系统的各参数据初始化,就是导入子模块. 这才是在架构中要最关心的.

2004-11-22 17:08:35 TCP/IP INFO(31329846)
你们的XML还写Schema

2004-11-22 17:08:55 D1.jackey(409485288)
所以我说。初始的demo其实用不了多少代码。

2004-11-22 17:09:19 D1.jackey(409485288)
最主要是要了解这个思想。 不管你是架构师还是在其下的程序员.

2004-11-22 17:11:37 D1.jackey(409485288)
而A1最主要的实现是, 如何通过BPL + DLL实现这个思想。 这就是A1要教大家的或者是他现在在做的.

2004-11-22 17:11:56 D1.jackey(409485288)
我整理的对不对?

2004-11-22 17:12:13 B1.斜阳(249208513)
Delphi就是建立在静态包之上的,是吧

2004-11-22 17:12:21 D1.jackey(409485288)
对.

2004-11-22 17:12:38 A3.武稀松(42088303)
Delphi的IDE就是建立在这上面的

2004-11-22 17:12:56 D1.jackey(409485288)
刚才.A1. A3都说了,以静态包+动态DLL

2004-11-22 17:13:14 大羽(393921295)
静态包只是个接口

2004-11-22 17:13:15 B1.斜阳(249208513)
呵呵,想想你用第三方控件或者Delphi自己的控件是多么的顺手,呵呵,就知道BPL是多么伟大了

2004-11-22 17:13:21 A3.武稀松(42088303)
我要走了,今天有事情。D10说的DEMO我也写完了。

2004-11-22 17:13:25 D1.jackey(409485288)
但是我认为开发时可以这样,但在发布时,以动态包是不是更好.

2004-11-22 17:13:30 -稳重(149898730)
DELPHI就是静态包+动态DLL ,对吗 

2004-11-22 17:17:54 D1.jackey(409485288)
还在听你怎么实现bpl+dll的呢?

2004-11-22 17:20:25 A1.Aleyn.wu(45198124)
时间不多了,周五继续好了。

2004-11-22 17:22:37 A1.Aleyn.wu(45198124)
如何扩展,这是一个大家都感兴趣的问题。

2004-11-22 17:23:13 TCP/IP INFO(31329846)
是呀,周五在继续吧

2004-11-22 17:23:18 A1.Aleyn.wu(45198124)
我现在的ERP系统就是利用BPL+DLL来扩展的了,比以前方便多了。

2004-11-22 17:23:52 A1.Aleyn.wu(45198124)
周五继续,大家聊点相关的东西吧。

=========================================下面闲聊中

2004-11-22 17:24:54 A1.Aleyn.wu(45198124)
昨天晚上,我的单片机开发板也成功了。

2004-11-22 17:24:55 TCP/IP INFO(31329846)
http://www.guhai6688.com/

2004-11-22 17:25:24 B1.斜阳(249208513)
自从用了BPL,这腰也不疼了,腿脚也利索多了![:D]

2004-11-22 17:25:25 A1.Aleyn.wu(45198124)
开发硬件的思路和开发软件差不多。

2004-11-22 17:25:29 TCP/IP INFO(31329846)
搞单片机呀,我想搞 嵌入式开发

2004-11-22 17:25:51 A1.Aleyn.wu(45198124)
搞得开发板象个电脑主板。

2004-11-22 17:25:53 B4.松鼠(64652023)
249208513(B1.斜阳) 17:25:24
自从用了BPL,这腰也不疼了,腿脚也利索多了![:D] 

2004-11-22 17:25:55 B3.Locet(2212967)
恭喜恭喜``

2004-11-22 17:25:56 TCP/IP INFO(31329846)
A1说说咋样呀,给点意见

2004-11-22 17:26:05 D7.洛 佩 兹(118648)
呵呵,是啊~!
前一阵公司忙的要命。。。好久没听课了[:<]

2004-11-22 17:26:22 B3.Locet(2212967)
BPL+DLL,你好我也好!

2004-11-22 17:26:25 D1.jackey(409485288)
好久也没上课了

2004-11-22 17:26:45 D7.洛 佩 兹(118648)
恩。。。我都落伍了。。。

2004-11-22 17:27:14 A1.Aleyn.wu(45198124)
[phone]

2004-11-22 17:27:39 B1.斜阳(249208513)
BPL,水果味儿,一个工程用一个,效果不错,还实惠[:D]

2004-11-22 17:28:05 D7.洛 佩 兹(118648)
[strong]

2004-11-22 17:28:08 B4.松鼠(64652023)
插广告,收费[:D]

2004-11-22 17:28:22 TCP/IP INFO(31329846)
[:D]

2004-11-22 17:28:58 A1.Aleyn.wu(45198124)
什么意见。

2004-11-22 17:29:17 TCP/IP INFO(31329846)
我的意见呀

2004-11-22 17:29:53 TCP/IP INFO(31329846)
搞单片机呀,我想搞 嵌入式开发
给点意见

2004-11-22 17:30:01 A1.Aleyn.wu(45198124)
你想学什么。

2004-11-22 17:30:16 TCP/IP INFO(31329846)
搞点和硬件相关的,有发展的

2004-11-22 17:30:29 e路有你(2837760)
用什么语言开发?

2004-11-22 17:30:30 -稳重(149898730)
学C,汇编语言

2004-11-22 17:30:41 TCP/IP INFO(31329846)
语言不是主要的

2004-11-22 17:30:50 -稳重(149898730)
单片机原理

2004-11-22 17:30:51 e路有你(2837760)
DELHPI也能开发?

2004-11-22 17:31:14 -稳重(149898730)
电子线路

2004-11-22 17:31:19 A1.Aleyn.wu(45198124)
[phone]

2004-11-22 17:31:34 -稳重(149898730)
思科认证
 

2004-11-22 17:31:35 TCP/IP INFO(31329846)
^_^,单片机也可以的

2004-11-22 17:31:48 TCP/IP INFO(31329846)
要开发行业的

2004-11-22 17:31:52 e路有你(2837760)
适合电子专业的去做

2004-11-22 17:32:04 TCP/IP INFO(31329846)
我想学  嵌入式开发
 

2004-11-22 17:32:15 A1.Aleyn.wu(45198124)
TCP/IP INFO,你想学什么单片机?

2004-11-22 17:32:19 -稳重(149898730)
PLC

2004-11-22 17:32:23 TCP/IP INFO(31329846)
我们这有培训,很贵的

2004-11-22 17:32:30 A1.Aleyn.wu(45198124)
自学。

2004-11-22 17:32:33 -稳重(149898730)
自学的
 

2004-11-22 17:32:34 e路有你(2837760)
HOW MUCH?
 

2004-11-22 17:32:37 TCP/IP INFO(31329846)
PLC我正在学呢

2004-11-22 17:32:41 TCP/IP INFO(31329846)
很简单

2004-11-22 17:32:43 B1.斜阳(249208513)
是不是要学习数字电路和模拟电路啊

2004-11-22 17:32:50 -稳重(149898730)
要的

2004-11-22 17:32:52 TCP/IP INFO(31329846)
要有点基础

2004-11-22 17:32:56 e路有你(2837760)
那会晕死的

2004-11-22 17:33:10 -稳重(149898730)
物理要好点的

2004-11-22 17:33:14 TCP/IP INFO(31329846)
单片机 其实也行

2004-11-22 17:33:21 TCP/IP INFO(31329846)
不过学完谁要呀

2004-11-22 17:33:28 TCP/IP INFO(31329846)
没经验呀

2004-11-22 17:33:39 TCP/IP INFO(31329846)
我想学个班

2004-11-22 17:33:41 e路有你(2837760)
学会了那就不用悉了.

2004-11-22 17:33:44 TCP/IP INFO(31329846)
包分配的

2004-11-22 17:33:54 -稳重(149898730)
你考研

2004-11-22 17:34:05 TCP/IP INFO(31329846)
就是贵,不知道值不值

2004-11-22 17:34:24 -稳重(149898730)
TCP/IP,你学什么专业的

2004-11-22 17:34:33 TCP/IP INFO(31329846)
计算机,基础比较好

2004-11-22 17:34:45 -稳重(149898730)
多长时间了学计算机

2004-11-22 17:35:24 TCP/IP INFO(31329846)
从大专算起

2004-11-22 17:35:42 -稳重(149898730)
几年了

2004-11-22 17:35:46 TCP/IP INFO(31329846)
快6年了

2004-11-22 17:35:51 e路有你(2837760)
你们学校开了电子课吗?

2004-11-22 17:36:08 TCP/IP INFO(31329846)
开了,我学过

2004-11-22 17:36:09 e路有你(2837760)
我学了4年啥都不会

2004-11-22 17:36:30 TCP/IP INFO(31329846)
他那个培训要 1万2千8

2004-11-22 17:36:34 -稳重(149898730)
我从97年/9月开始学计算机的
 

2004-11-22 17:36:48 TCP/IP INFO(31329846)
培训半年

2004-11-22 17:36:57 -稳重(149898730)
最早是DOS

2004-11-22 17:36:58 e路有你(2837760)
包会不?

2004-11-22 17:37:11 TCP/IP INFO(31329846)
没说,呵呵

2004-11-22 17:37:32 -稳重(149898730)
TCP/IP,有30了吗

2004-11-22 17:37:33 e路有你(2837760)
别到时花了钱也和我一样啥都不会就惨了.

2004-11-22 17:37:54 TCP/IP INFO(31329846)
80年的

2004-11-22 17:38:11 -稳重(149898730)
一样的

2004-11-22 17:38:21 TCP/IP INFO(31329846)
^_^

2004-11-22 17:38:41 -稳重(149898730)
FD41F4FD41F4

2004-11-22 17:38:45 -稳重(149898730)
交个朋友

2004-11-22 17:38:55 TCP/IP INFO(31329846)
可以呵呵,你哪的

2004-11-22 17:39:04 -稳重(149898730)
郑州的,你呢

2004-11-22 17:39:11 TCP/IP INFO(31329846)
沈阳的

2004-11-22 17:39:43 TCP/IP INFO(31329846)
我说的那个培训是东软的

2004-11-22 17:40:28 TCP/IP INFO(31329846)
A1呢,不说话了,下了?

2004-11-22 17:40:38 -稳重(149898730)
你觉得自己有哪个水平学好吗

2004-11-22 17:40:59 TCP/IP INFO(31329846)
什么哪个水平?

2004-11-22 17:41:20 A1.Aleyn.wu(45198124)
客人在。

2004-11-22 17:41:51 -稳重(149898730)
学硬件开发的,要求有很好的数学基础的

2004-11-22 17:41:58 TCP/IP INFO(31329846)
培训的那个,要本科的,有基础的,要求挺高的

2004-11-22 17:42:14 -稳重(149898730)
低层的

2004-11-22 17:42:14 TCP/IP INFO(31329846)
我的数学很好的

2004-11-22 17:42:38 TCP/IP INFO(31329846)
高数(2)就学了2遍

2004-11-22 17:42:52 -稳重(149898730)
我就差个本科文凭的

2004-11-22 17:43:05 -稳重(149898730)
要不去深圳了

2004-11-22 17:43:21 TCP/IP INFO(31329846)
呵呵,是呀,文凭,有时挺重要的

2004-11-22 17:43:37 A1.Aleyn.wu(45198124)
还有十分钟,可以聊一聊了。

2004-11-22 17:44:02 -稳重(149898730)
我吃文凭的亏太多了

2004-11-22 17:44:03 TCP/IP INFO(31329846)
你的单片机搞到什么程度了?

2004-11-22 17:44:15 TCP/IP INFO(31329846)
外围电路如何呀

2004-11-22 17:44:39 A1.Aleyn.wu(45198124)
单片机一般般啦 ,刚学的。小菜。

2004-11-22 17:44:46 TCP/IP INFO(31329846)
我的感觉是,搞硬件 是靠经验的

2004-11-22 17:44:54 -稳重(149898730)
9494
 

2004-11-22 17:44:55 A1.Aleyn.wu(45198124)
外围电路也一般般。

2004-11-22 17:44:57 TCP/IP INFO(31329846)
和软件差很多

2004-11-22 17:45:09 TY(123612838)
搞单片机的一个月的工资不得了,是吗

2004-11-22 17:45:18 TCP/IP INFO(31329846)
而且不想软件 变化的那么快

2004-11-22 17:45:20 -稳重(149898730)
也要有理论基础的

2004-11-22 17:46:07 TCP/IP INFO(31329846)
年龄高,也不是什么问题

2004-11-22 17:46:19 TCP/IP INFO(31329846)
年龄高水平越高

2004-11-22 17:46:30 A1.Aleyn.wu(45198124)
搞单片机的工资也不高。

2004-11-22 17:46:37 -稳重(149898730)
学软件开发就是为了为硬件开发做准备的

2004-11-22 17:46:40 A1.Aleyn.wu(45198124)
也搞出产品的工资才高。

2004-11-22 17:46:55 TCP/IP INFO(31329846)
是呀

2004-11-22 17:46:57 TY(123612838)
一般有6000

2004-11-22 17:47:01 TY(123612838)
???

2004-11-22 17:47:18 TCP/IP INFO(31329846)
那要在南方了

2004-11-22 17:47:21 -稳重(149898730)
在哪的呀,TY

2004-11-22 17:47:21 TY(123612838)
试用期有多少

2004-11-22 17:47:35 TY(123612838)
广州

2004-11-22 17:47:40 TCP/IP INFO(31329846)
我们这可不行呀,毕业生都难找工作

2004-11-22 17:48:05 TY(123612838)
你一开始有多少

2004-11-22 17:48:48 TCP/IP INFO(31329846)
北方工资低

2004-11-22 17:49:20 TY(123612838)
可以过南方吗

2004-11-22 17:49:26 TCP/IP INFO(31329846)
大家说说
学那个培训有没有意思呀

2004-11-22 17:50:01 TCP/IP INFO(31329846)
东软培训 嵌入式系统开发

2004-11-22 17:50:07 TY(123612838)
每个人都不一样,看自己的实际情况了

2004-11-22 17:50:25 A1.Aleyn.wu(45198124)
单片机还是自己学比较好。

2004-11-22 17:50:31 TY(123612838)
东软培训 嵌入式系统开发/多少水啊

2004-11-22 17:50:55 TCP/IP INFO(31329846)
多少钱吗?12,800.00

2004-11-22 17:51:09 A1.Aleyn.wu(45198124)
自己学可以学到许多东西。

2004-11-22 17:51:10 B3.Locet(2212967)
D4,把紫风铃拉进来啊

2004-11-22 17:51:14 TY(123612838)
学多久

2004-11-22 17:51:19 TCP/IP INFO(31329846)
半年

2004-11-22 17:51:42 TY(123612838)
脱产的吗,有没有工作介绍的

2004-11-22 17:51:52 TCP/IP INFO(31329846)
自己学也行,不过 学完不好找相关工作呀

2004-11-22 17:52:25 TCP/IP INFO(31329846)
是脱产的,毕业分配的,能到东软(差不多)

2004-11-22 17:52:44 TCP/IP INFO(31329846)
我一直想去一个大公司

2004-11-22 17:52:52 -稳重(149898730)
我的意见还是自学的

2004-11-22 17:53:06 A1.Aleyn.wu(45198124)
下班了,回家了。

2004-11-22 17:53:13 A1.Aleyn.wu(45198124)
[bye]

posted @ 2004-11-23 11:28  D10.天地弦  阅读(2906)  评论(4编辑  收藏  举报