卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

如何使用DLL取回原來的數據結構數組?

一、新建一個空的DLL并新建數據類型在編寫易語言小工具時,我們可能需要用到DLL傳遞數組。但易語言只支持返回常規(guī)類型,這時候就可以使用以下方法來取回原來的數據結構數組。首先,我們需要新建一個空的DLL

一、新建一個空的DLL并新建數據類型

在編寫易語言小工具時,我們可能需要用到DLL傳遞數組。但易語言只支持返回常規(guī)類型,這時候就可以使用以下方法來取回原來的數據結構數組。

首先,我們需要新建一個空的DLL,并在其中新建一個數據類型。例如:

```

.版本 2

.數據類型 數據類型1

.成員 a, 邏輯型

.成員 b, 小數型

.成員 c, 雙精度小數型

.成員 d, 長整數型

.成員 e, 整數型

.成員 f, 字節(jié)集

```

二、新建公開子程序并清除數組

之后,在DLL中新建一個公開的子程序。例如:

```

.版本 2

.支持庫 spec

.子程序 info, 整數型, 公開

.局部變量 x, 數據類型1, , "0"

.局部變量 a, 數據類型1

清除數組 (x)

a.a 真

a.b 3.1

a.c 3.1415926

a.d 81357707

a.f { 1, 2, 3 }

加入成員 (x, a)

加入成員 (x, a)

返回 (取變量地址 (x))

```

在此子程序中,我們需要清除數組,并為每個成員賦值。最后,將該數據類型添加到數組中并返回數組地址。

三、編譯DLL并使用

最后,我們需要將新建的DLL編譯出來,并在易語言中使用它。使用方法可參考以下代碼:

```

coding:utf-8

from ctypes import *

class DataType1(Structure):

_fields_ [("a", c_bool), ("b", c_float), ("c", c_double), ("d", c_long),

("e", c_int), ("f", c_char * 3)]

def main():

dll cdll.LoadLibrary("test.dll")替換成你的DLL文件名

POINTER(DataType1)

array ()

print(array[0].a)

print(array[0].b)

print(array[0].c)

print(array[0].d)

print(array[0].e)

print(array[0].f)

if __name__ "__main__":

main()

```

以上代碼是使用Python調用DLL的示例。注意:在使用ctypes庫時,需要定義與DLL中相同的數據類型。

總之,通過以上步驟,我們就可以實現在易語言中使用DLL取回原來的數據結構數組了。

標簽: