VB6 OCX ไม่ทำงานใน Windows 7 64 บิต IE


2

ฉันมี VB6 OCX เก่าซึ่งใช้งานได้ดีกับ Windows 7 IE (32 บิต) แต่ใช้งานไม่ได้กับ IE (64 บิต)

มีคนช่วยบอกเหตุผลว่าทำไมมันไม่ทำงานบน IE (64 บิต) ตัวเลือกที่เป็นไปได้ในการแก้ไขปัญหานี้มีอะไรบ้าง

คำตอบ:


4

IE เวอร์ชัน 64 บิตรองรับเฉพาะ Add-on 64 บิตเท่านั้น OCX ของคุณคือ 32 บิตดังนั้นจึงไม่รองรับ

Visual Basic 6.0 IDE

Visual Basic 6.0 IDE ไม่ได้รับการสนับสนุนอีกต่อไปตั้งแต่วันที่ 8 เมษายน 2008 อย่างไรก็ตามอาจมีข้อตกลงการสนับสนุนที่กำหนดเองจาก Microsoft นอกจากนี้ทั้งทีม Windows และ Visual Basic ได้ทดสอบ Visual Basic 6.0 IDE บน Windows Vista, Windows 7, Windows Server 2008 และ Windows 8 เพื่อทำความเข้าใจและลดความร้ายแรงของความเข้ากันได้ของแอปพลิเคชัน (ถ้าเหมาะสม) ประกาศนี้ไม่เปลี่ยนนโยบายการสนับสนุนสำหรับ IDE

Visual Basic 6.0 Runtime

รันไทม์ Visual Basic 6.0 ถูกกำหนดเป็นไฟล์ไบนารีที่คอมไพล์แล้วซึ่งเดิมรวมอยู่ในรายการการแจกจ่ายซ้ำสำหรับ Visual Basic 6.0 ไฟล์เหล่านี้ถูกทำเครื่องหมายว่าสามารถแจกจ่ายได้ในลิขสิทธิ์ดั้งเดิม Visual Basic 6.0 ตัวอย่างของไฟล์เหล่านี้ ได้แก่ ไลบรารีรันไทม์ Visual Basic 6.0 (msvbvm60.dll), ตัวควบคุม (เช่น msflxgrd.ocx) พร้อมกับไฟล์สนับสนุนรันไทม์สำหรับพื้นที่ทำงานหลักอื่น ๆ (เช่น MDAC)

รันไทม์แบ่งออกเป็นสามกลุ่ม:

ไฟล์รันไทม์ที่รองรับ

การจัดส่งในระบบปฏิบัติการ: ไฟล์รันไทม์ Key Visual Basic 6.0 ที่ใช้ในสถานการณ์ส่วนใหญ่ของแอปพลิเคชันนั้นมีการจัดส่งและรองรับตลอดอายุการใช้งานของ Windows Vista, Windows Server 2008, Windows 7 หรือ Windows 8 อายุการใช้งานห้าปี การสนับสนุนและการสนับสนุนเพิ่มเติมห้าปีนับจากเวลาที่ Windows รุ่นที่ระบุจัดส่ง ไฟล์เหล่านี้ได้รับการทดสอบความเข้ากันได้ซึ่งเป็นส่วนหนึ่งของการทดสอบแอปพลิเคชัน Visual Basic 6.0 ที่ทำงานบน Windows Vista หมายเหตุ: รายการของไฟล์ที่จัดส่งใน Windows Vista, Windows Server 2008, Windows 7, Windows 8 และ Windows XP นั้นเกือบจะเหมือนกันและข้อกำหนดของ redist สำหรับแอพพลิเคชั่นควรจะเหมือนกันเกือบทั้งหมด ความแตกต่างที่สำคัญอย่างหนึ่งคือ TriEdit.dll ถูกลบออกจาก Windows Vista และรุ่นที่ใหม่กว่า

ไฟล์รันไทม์ที่รองรับ

ขยายไฟล์เพื่อกระจายด้วยแอปพลิเคชันของคุณ: รายการเพิ่มเติมของตัวควบคุมคีย์ไลบรารีและเครื่องมือที่ติดตั้งจากสื่อ IDE หรือจาก Microsoft.com ไปยังเครื่องนักพัฒนา โดยทั่วไปแล้ว VB6 IDE จะติดตั้งตัวควบคุมเหล่านี้ไปยังเครื่องผู้พัฒนาโดยค่าเริ่มต้น นักพัฒนายังคงต้องการแจกจ่ายไฟล์เหล่านี้กับแอปพลิเคชันอีกครั้ง รุ่นที่รองรับของไฟล์นั้นมีให้ทางออนไลน์ใน Microsoft Download Center ( http://go.microsoft.com/fwlink/?LinkID=142927 )

ไฟล์ Runtime ที่ไม่รองรับ

ไฟล์บางไฟล์ขาดการสนับสนุนที่สำคัญหรือไม่เคยถูกรวมไว้ในส่วนของ redist runtime (เช่นพวกเขารวมอยู่ในโฟลเดอร์ \ Tools บนสื่อ IDE เพื่อสนับสนุนแอปพลิเคชัน VB4 / VB5 รุ่นเก่าหรือเป็นตัวควบคุมของบุคคลที่สาม) Windows ไม่รองรับไฟล์เหล่านี้ แต่จะอยู่ภายใต้ข้อตกลงการสนับสนุนใด ๆ ที่ใช้กับสื่อที่จัดส่งมา ไฟล์เหล่านี้ได้รับการทดสอบเพื่อให้ทำงานบน Vista ซึ่งเป็นส่วนหนึ่งของความเข้ากันได้ของแอปพลิเคชันและกระบวนการทดสอบของเรา ในบางกรณีรองรับไลบรารีรุ่นที่ใหม่กว่านี้ รายละเอียดเกี่ยวกับความเข้ากันได้ย้อนหลังหรือการโยกย้ายไปยังรุ่นที่รองรับมีให้ด้านล่าง


รันไทม์ Visual Basic 6.0 ได้รับการทดสอบความเข้ากันได้ระหว่าง Windows XP และ Windows Vista / Windows Server 2008 / Windows 7 / Windows 8 โดยมีเป้าหมายเพื่อให้แอปพลิเคชันทำงานคล้ายกันในระบบปฏิบัติการเหล่านี้ เช่นเดียวกับระบบปฏิบัติการรุ่นใด ๆ อาจมีความแตกต่างในการทำงานที่จะต้องมีการปรับเปลี่ยนการใช้งานของคุณ ความแตกต่างเหล่านี้จะได้รับการแก้ไขเป็นกรณีไปผ่านช่องทางการสนับสนุนปกติ

Windows 64 บิต

แฟ้มรันไทม์ visual Basic 6.0 เป็นแบบ 32 บิต ไฟล์เหล่านี้จัดส่งในระบบปฏิบัติการ Windows แบบ 64 บิตที่อ้างอิงในตารางด้านล่าง แอปพลิเคชันและส่วนประกอบ VB6 32 บิตได้รับการสนับสนุนในสภาพแวดล้อมการจำลอง WOW เท่านั้น คอมโพเนนต์แบบ 32 บิตต้องโฮสต์ในกระบวนการแอปพลิเคชันแบบ 32 บิต

Visual Basic 6.0 IDE ไม่เคยถูกเสนอในเนทิฟ 64 บิตและไม่สนับสนุน IDE 32- บิตบน Windows 64 บิต การพัฒนา VB6 บน Windows 64 บิตหรือสถาปัตยกรรมเนทิฟนอกเหนือจาก 32 บิตนั้นไม่รองรับและไม่ได้รับการสนับสนุน

วินโดว 7

ตั้งแต่รุ่นแรกของคำสั่งการสนับสนุนนี้ระบบปฏิบัติการ Windows 7 ได้รับการประกาศ เอกสารนี้ได้รับการปรับปรุงเพื่อชี้แจงการสนับสนุนของ Microsoft สำหรับ VB6 บน Windows 7

รันไทม์ VB6 จะจัดส่งและจะได้รับการสนับสนุนใน Windows 7 ตลอดอายุการใช้งานของระบบปฏิบัติการ ไฟล์รันไทม์ Visual Basic 6.0 ยังคงเป็นแบบ 32 บิตเท่านั้นและส่วนประกอบทั้งหมดจะต้องโฮสต์ในกระบวนการแอปพลิเคชันแบบ 32 บิต นักพัฒนาสามารถนึกถึงเรื่องราวการสนับสนุนสำหรับ Windows 7 ที่เหมือนกันกับ Windows Vista

วินโดว์ 8

ตั้งแต่รุ่นแรกของคำสั่งการสนับสนุนนี้ระบบปฏิบัติการ Windows 8 ได้รับการประกาศ เอกสารนี้ได้รับการปรับปรุงเพื่อชี้แจงการสนับสนุนของ Microsoft สำหรับ VB6 บน Windows 8

รันไทม์ VB6 จะจัดส่งและจะได้รับการสนับสนุนใน Windows 8 ตลอดอายุการใช้งานของระบบปฏิบัติการ ไฟล์รันไทม์ Visual Basic 6.0 ยังคงเป็นแบบ 32 บิตเท่านั้นและส่วนประกอบทั้งหมดจะต้องโฮสต์ในกระบวนการแอปพลิเคชันแบบ 32 บิต นักพัฒนาสามารถนึกถึงเรื่องราวการสนับสนุนสำหรับ Windows 8 ที่เหมือนกันกับ Windows 7

มีแผนภูมิขนาดใหญ่ที่ฉันไม่รู้สึกอยากลองคัดลอกอยู่ที่นี่


ฉันสามารถคอมไพล์ OCX ของฉันสำหรับสถาปัตยกรรม 64 บิตอีกครั้งได้ไหม มีตัวเลือกใดให้คอมไพล์ OCX สำหรับ 64-bit ใน Visual Studio 2000 หรือไม่
Siddiqui

@Siddiqui - ฉันไม่เชื่อว่า Visual Basic 6 รองรับการประกอบ 64- บิต เพียงใช้เบราว์เซอร์ 32 บิต
Ramhound

คุณคือผู้ช่วยให้รอดของฉัน! ฉันใช้เวลาหลายชั่วโมงกับการพยายามใช้ VB6 ActiveX รุ่นเก่าเพื่อทำงานบนเครื่องของฉันและตอนนี้หลังจากเปิดตัว IE ในแบบ 32 บิตในที่สุดมันก็ทำงาน! ถ้าฉันสามารถลงคะแนนได้มากกว่าหนึ่งครั้งคุณจะจมลงใน upvotes คู่ครอง ขอบคุณ!
Florian Peschka
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.