Archive

Archive for June, 2022

ใช้ .net dll ผ่าน python

June 14th, 2022 Comments off

เริ่มจากการ install pythonnet ก่อนครับ หลังจากนั้นก็เรียก dll มาผ่าน crl ตัวอย่าง

import clr
clr.AddReference('C:\Program Files (x86)\3M\3M Page Reader\3.1.8\Bin\MMMReaderDotNet20')

ทีนี้เราจะสามารถเรียก class หรือ object ต่าง ๆ ได้ตรง ๆ เช่น

r = Reader()

หรือสามารถ import attribute ต่าง ๆ ได้ เช่น

from MMM.Readers.FullPage import DataType

ทีนี้มันจะมีอะไรที่ภาษาแบบ c# มีแต่ python ไม่มีผมก็มั่วมาจนได้นะ

public static ErrorCode GetData(DataType aDataType, ref object aData)

ตรง ref object นี่แหละครับที่ติดอยู่นานสุดท้ายผมก็เจอว่าให้สร้าง var เป็น type None มารับค่าครับ

คือผมเขียน c# ไม่เป็น parameter ที่ใส่เข้าไปรับค่าแบบนี้ผมก็เพิ่มเคยเห็น

โค้ดมันจะประมาณนี้ครับ

aData = None

errorcode,img=r.GetData(DataType(5),aData)

หลายคนอาจจะงงทำไมเราไม่เขียน .net ไปเลยทำไมเขียน python ส่วนตัวผมว่ามันง่ายกว่านะ

ถ้าเราสามารถเขียนภาษาเดียวได้ตั้งแต่ web / browser extension ไปถึงอื่น ๆ มันดูแลง่ายกว่านะ

ถ้าเราอยากเชื่อม hw เข้ากับ web ก็เขียน python นี่แหละโดยอาจต้องมี javascript อีกหน่อยตอนทำ

extension ให้ไปคุยกับ python แล้วเอาข้อมูลไปแปะในเว็บ

Categories: Uncategorized Tags: