線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:858
推到 Plurk!
推到 Facebook!

delphi可以寫dll嗎??

尚未結案
diehuman
初階會員


發表:91
回覆:57
積分:29
註冊:2003-04-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-01-28 09:56:23 IP:218.172.xxx.xxx 未訂閱
請問各位delphi可以寫dll嗎??那delphi寫的dll可以給別的程式語言用嗎??(例:給vb用) 唯有學識與堅持才是成功的基石,所有事物被創造出來都是為解決問題
hcker
中階會員


發表:95
回覆:118
積分:62
註冊:2003-02-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-01-28 10:06:55 IP:218.19.xxx.xxx 未訂閱
當然可以,至於能不能給VB使用我沒試過,但應該是可以的。 ----------要知道自己有多笨,到DelphiK.Top來看看----------
chih_kuan
中階會員


發表:38
回覆:82
積分:54
註冊:2003-02-20

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-01-28 16:27:18 IP:61.59.xxx.xxx 未訂閱
可以.... 但需注意....delphi 所寫出的dll.... 如程式執行中須傳(出)入參數時.... 其型態與長度...是否能為vb...c...etc...所用的問題
------
叔叔有練過,初學者不要學。
sos_admin
版主


發表:121
回覆:697
積分:768
註冊:2003-07-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-01-30 09:50:10 IP:61.155.xxx.xxx 未訂閱
[转自delphi帮助] 动态调入库的主源文件和程序的一样,除了它以关键字library 开始(取代program)。 只有被库明确输出的例程才能被其它库或程序导入,下面的例子演示了库输出两个函数,Min 和Max。 library MinMax; function Min(X, Y: Integer): Integer; stdcall; if X < Y then Min := X else Min := Y; function Max(X, Y: Integer): Integer; stdcall; if X > Y then Max := X else Max := Y; end; exports Min, Max; begin end. 若要你的库对其它语言编写的程序是可见的,最安全的办法是在声明输出函数时指定stdcall 调用约定, 其它语言或许不支持Object Pascal 默认的register 调用约定。 库可以通过多个单元文件创建,此时,库的源文件通常简化为包含一个uses 子句、一个exports 子句和 初始化代码。比如, library Editors; uses EdInit, EdInOut, EdFormat, EdPrint; exports InitEditors, DoneEditors name Done, InsertText name Insert, DeleteSelection name Delete, FormatSelection, PrintSelection name Print, ... SetErrorHandler; begin InitLibrary; end. 你可以把exports 子句放在单元的接口或实现部分,任何在uses 子句中包含这个单元的库自动输出单元 输出的例程,不必有自己的exports 子句。 指示字local 标记一个例程不能被输出,它是平台相关的,在Windows 编程中没有作用。
系統時間:2024-05-03 5:46:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!