Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > .NET Framework > Forum > ไม่สามารถแอดไฟล์ dll ได้ ไม่รู้ว่าเป็นเพราะอะไร ช่วยทีค่ะT_T (มีรูปอยู่ด้านในค่ะ)



 

ไม่สามารถแอดไฟล์ dll ได้ ไม่รู้ว่าเป็นเพราะอะไร ช่วยทีค่ะT_T (มีรูปอยู่ด้านในค่ะ)

 



Topic : 108161



โพสกระทู้ ( 325 )
บทความ ( 0 )



สถานะออฟไลน์




รูปตามนี้ค่ะ ไฟล์อื่นก็แอดได้ปกติ แต่ไฟล์นี้แอดไม่ได้ ใครพอรู้วิธีการแก้ไขไหมคะT_T อยากรู้ว่ามันเป็นเพราะอะไร

dll



Tag : .NET, Ms SQL Server 2008, VB.NET







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-05-07 10:36:09 By : mayapopy View : 1506 Reply : 6
 

 

No. 2



โพสกระทู้ ( 325 )
บทความ ( 0 )



สถานะออฟไลน์


อ้าว หรอคะ ขอบคุณมากๆเลยน้าคะ หาวิธีแก้อยู่ตั้งนาน เดี๋ยวจะขอไฟล์ dll จากเมืองนอกมาใหม่ค่ะ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-05-07 13:14:55 By : mayapopy
 


 

No. 3



โพสกระทู้ ( 154 )
บทความ ( 0 )



สถานะออฟไลน์


ถ้าเป็น dll ที่มาจากภาษาอื่น ไม่ได้ถูกพัฒนามาจาก .Net Framework การที่จะเอามา Add Reference แบบที่ทำอยู่นี้ไม่ได้ครับ แต่จะสามารถทำได้แค่นำเข้ามาวางอ้างอิงเป็นไฟล์ในโปรเจคได้เท่านั้น เพื่อให้โปรแกรมเรามองเห็น dll ก่อนเป็น path แรก ส่วนใหญ่ก็เอาไปวางได้ที่ Debug หรือไม่ก็ Release

ส่วนวิธีการเชื่อมต่อ dll ประเภทนี้ ต้องทำ InteropService Call Dll เองเช่น

Code (C#)
[System.Runtime.InteropServices.DllImport("gdi32.dll", EntryPoint = "CreateRoundRectRgn")]
private static extern System.IntPtr CreateRoundRectRgn(int nLeftRect, int nTopRect, int nRightRect, int nBottomRect, int nWidthEllipse, int nHeightEllipse);


จะทราบได้อย่างไรว่า dll ที่เราเอามาใช้นั้นมีชื่อ Method ว่าอะไร ชื่อ parameter ชนิด parameter เป็นแบบไหน อันนี้มีวิธีการอยู่คือ
1. ติดต่อ provider เอาเอกสารมา ส่วนใหญ่จะทำมาเป็นเอกสารสำหรับ Developer และมีตัวอย่าง Source code ให้ถ้าโชคดี
2. ถ้าไม่มีเอกสารอะไรเลย ให้ทำการ download Dependency มาใช้งาน เพื่อเปิดดูว่าข้างใน dll มีชื่อ Function อะไร ชนิดข้อมูลอะไร มีการอ้างอิงไปยัง dll ตัวอื่นอีกหรือไม่ (แน่นอนว่าถ้ามีการอ้างอิงไปยัง dll ตัวอื่น จขกท. ก็จำเป็นจะต้องไปเสาะหามาวางไว้ที่ Debug กับ Release ด้วยเหมือนกัน) แต่ถ้าอ้าง dll ที่อยู่ใน windows หรือ system ที่มีการติดตั้งมาจาก os ก็ไม่ต้องเอาไปวาง เพราะเครื่องอื่นๆ ก็ย่อมมีเหมือนๆ กัน

โหลด dependency จาก http://www.dependencywalker.com/
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-05-07 15:03:01 By : gunnermontana
 

 

No. 4



โพสกระทู้ ( 325 )
บทความ ( 0 )



สถานะออฟไลน์


โห ขอบคุณ คุณGunner มากๆเลยนะคะ ละเอียดมากๆเลยค่ะ พอดีกำลังหัดเขียนโปรแกรมติดต่อกับพวกอุปกรณ์ฮาร์ดแวร์อยู่น่ะค่ะ ปกติถนัดพวกดาต้าเบสมากกว่า แต่บริษัทดันขายสินค้าใหม่ เลยต้องมาเขียนโปรแกรมทางด้านนี้ซึ่งไม่ถนัดเลยT_T แล้วเขาจะให้พวก sdk มา(ตอนแรกๆก็ไม่่รู้ว่ามันคืออะไร) แต่ใน Manual ของ SDK มันจะมีบอกพวก พารามิเตอร์ วิธีการใช้งานฟังก์ชั่นต่างๆอยู่แล้วน่ะค่ะ ก็เลยไม่ห่วงเรื่องนี้เท่าไหร่ ห่วงเรื่อง Coding มากกว่า เพราะไม่เคยเขียน แต่ความรู้ที่คุณ Gunner กับ Admin ให้มาถือเป็นความรู้ใหม่หมดเลยค่ะ ขอบคุณมากๆๆนะคะ เดี๋ยวจะลองเอาไปใช้ดู

ว่าแต่...ถามหน่อยได้ไหมคะ มีวิธีตรวจสอบไฟล์ dll อย่างง่ายๆไหมคะ ว่าพัฒนามาจาก vb6 หรือ dot net เวลาส่งให้ลูกค้าจะได้ส่งไม่ผิด อะไรแบบนี้น่ะค่ะ (แหะๆ ตอนนี้คิดวิธีง่ายสุดคือลองมาแอดดูว่ามัน error แบบนี้หรือเปล่า^^)

ขอบคุณอีกครั้งค่า^^
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-05-07 17:02:54 By : mayapopy
 


 

No. 5



โพสกระทู้ ( 154 )
บทความ ( 0 )



สถานะออฟไลน์


การตรวจเช็คมีหลายวิธีมาก ส่วนตัวผมเองถ้าจะเช็คก็จะเข้าโปรแกรท ildasm อยู่ที่

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin

แน่นอนว่าต้องผ่านการติดตั้งชุด Visual Studio ก่อน ถึงจะเห็น Path ดังกล่าว

ทำการเปิดโปรแกรมพิมพ์ cmd ปรากฎหน้าจอ Dos เข้าไปที่ Path ดังกล่าวจากนั้นพิมพ์คำสั่งดังนี้

Code
ildasm.exe [DllFilename] /metadata[=MDHEADER]


เช่นผมต้องการจะรู้ว่าเป็น Dll ของ .Net หรือไม่ โดย Dll อยู่ที่ Drive d ชื่อ FirstFloor.ModernUI.dll และ MathLib.dll ทดลองทีละตัว

Code
ildasm.exe D:\FirstFloor.ModernUI.dll /metadata[=MDHEADER]


ปรากฎหน้าจอดังนี้

ildasm1

แปลว่า Dll ตัวนี้ถูกพัฒนามาจาก .Net Framework จะสามารถเห็น method ด้านในได้ แต่ถ้าทดลองพิมพ์อีก Dll

Code
ildasm.exe D:\MathLib.dll.dll /metadata[=MDHEADER]


ปรากฎหน้าจอ Error

ildasm2

กรณีนี้ Dll MathLib ไม่ได้ถูกพัฒนามาจาก .Net Framework หรือเป็น Native Code Dll นั่นเอง

จากตัวอย่างคงพอจะเข้าใจและช่วยได้บ้างไม่มากก็น้อยนะครับ


ประวัติการแก้ไข
2014-05-07 21:54:05
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-05-07 21:52:59 By : gunnermontana
 


 

No. 6



โพสกระทู้ ( 174 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : gunnermontana เมื่อวันที่ 2014-05-07 21:52:59
รายละเอียดของการตอบ ::
ท่านเทพตัวจริง

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-05-09 09:16:34 By : nongpaoza
 


 

No. 7



โพสกระทู้ ( 325 )
บทความ ( 0 )



สถานะออฟไลน์


ดีจังเลยได้ความรู้ใหม่อีกแล้ว ทดลองดูแล้วค่ะ เช็คได้จริงๆด้วย ขอบคุณมากๆเลยนะคะ คุณ Gunner Montana

ปล. พอดีหยุดหลายวันเลยไม่ได้มาดู ขอโทษทีตอบช้านะคะ^^
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-05-12 15:04:32 By : mayapopy
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ไม่สามารถแอดไฟล์ dll ได้ ไม่รู้ว่าเป็นเพราะอะไร ช่วยทีค่ะT_T (มีรูปอยู่ด้านในค่ะ)
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่