所谓dll,就是动态链接库,怎么还有静态dll呢?和VCL也是两个概念
解决方案 »
- 关于FORM销毁问题
- fastreport分组问题
- 向这个怎么搞? ------ !
- delphi 过程中强制退出过程用什么语句?谢谢!!
- 游览网页问题
- 如何将同一表中某一年和某一月的数据统计到同一个QUERY中????
- ADOStoredProc1.Parameters.parambyname('@tempqdh').asstring:=edit2.text;为什么会报错?
- 如何设置mediaplayer播放画面的大小
- reportbuild6.03版本那里有下?
- 如何让tqrdbtext自动换行??
- 请教NMHTTP,用get方式连接http://192.168.0.204:13034/sms这样的网址?
- 下面的存储过程怎么写啊?
vcl是可视化组件技术
我看相同点只有:它们都用了封装技术!
vcl是可视化组件技术,与DLL有本质的区别,他不仅有属性而且还可以有方法和事件。既是VCL就一定是类继承的。要我说的白一点,DLL比VCL简化。
2)我个人认为在DELPHI编程过程中,如果不考虑与其它程序兼容等,可否只使用VCL组件。
VCL好象有更多的灵活性的。
区别在于:静态调用时,delphi编译器要将函数和过程编译成可执行代码。动态调用时,通过引用一个外部函数,将该函数连接到应用程序中。
DLL和VCL怎么好比呢,不是一样的东西啊,呵呵
2)动态DLL和静态DLL之间的调用:动态调用DLL
procedure TForm1.Button1Click(Sender: TObject);
var
func : function (Table,Ssql: PChar; Connection: TADOConnection): Boolean;stdcall;
HDC : HWND;
begin
HDC := LoadLibrary('RecordExist.dll');
if HDC<>0 then
begin
func := GetProcAddress(HDC,PChar('Exist'));
if Assigned(func) then
ShowMessage('调用成功!')
end;
FreeLibrary(HDC);
end;静态调用DLL
function ReturnArray(I : Integer): Pointer;stdcall; external 'Demos.dll';