ปัญหา: เนื่องจากการควบคุม Crystal Report ของฉันใช้กับ Delphi5 ฉันจึงพบปัญหามากมายเมื่อติดตั้งภายใต้ Delphi6 ตอนนี้อธิบายอย่างละเอียด
ขั้นแรกให้ค้นหาแพ็คเกจการติดตั้งตัวควบคุมแล้วดับเบิลคลิก Crystal.dpk ระบบแจ้งให้ติดตั้งเป็นรูปแบบใหม่ เลือก "ใช่"
คลิกติดตั้งแพ็คเกจที่จะติดตั้งและมีการรายงานข้อผิดพลาด: ไม่พบ DsgnIntf.dcu นี่คือความแตกต่างระหว่าง Delphi5 และ Delphi6 เปลี่ยน DsgnIntf ในการใช้งานเป็น {$IFDEF VER140} DesignIntf, DesignEditors {$ELSE} DsgnIntf {$ENDIF}.
รวบรวมต่อไป. รายงานไม่พบ DsgnIntf.dcu หลังจากค้นหาแล้ว มีหนึ่งใน Source/ToolAPI ในไดเร็กทอรีการติดตั้ง Delphi
รวบรวมต่อไป. มีรายงานว่าไม่พบ DesignMenus.dcu ดาวน์โหลดอีกครั้ง ค้นหาอีกครั้ง ยังอยู่ใน Source/ToolAPI จากนั้นจึงคัดลอกไปที่ lib
พอคอมไพล์ใหม่ก็บอกว่าขาดอะไรไปก็ก๊อปสิ่งที่ขาดไป ใครทำผมโง่? คราวนี้ DesignEditors หายไป แน่นอนว่ายังอยู่ใน Source/ToolAPI ยังมี DesignConst ที่ขาดหายไป ดังนั้นให้คัดลอกด้วยเช่นกัน
ต่อมาผมพบวิธีง่ายๆ เนื่องจากทั้งสามสิ่งนี้อยู่ในไดเร็กทอรีเดียวกัน เพียงแค่ใส่พาธเข้าไป คลิกเมนูเครื่องมือ->ตัวเลือกสภาพแวดล้อม เลือกหน้าไลบรารี และเพิ่ม Source/ToolAPI ในเส้นทางไลบรารี
ในที่สุด PROxies.duc ก็หายไป ครั้งนี้ฉันหามันไม่เจอ ฉันควรทำอย่างไร เขียนด้วยตัวเอง. ไม่ใช่เรื่องตลก ไฟล์นี้ไม่มีประโยชน์อีกต่อไปใน Delphi6 เขียนหนึ่งไฟล์เพื่อหลอกมัน :) โปรแกรมมีดังนี้:
ผู้รับมอบฉันทะหน่วย;
อินเตอร์เฟซ
ฟังก์ชัน IsProxyClass (ComponentClass: TClass): บูลีน;
การดำเนินการ
ฟังก์ชัน IsProxyClass (ComponentClass: TClass): บูลีน;
เริ่ม
ผลลัพธ์ := จริง;
จบ;
จบ.
บันทึกลง lib.
คอมไพล์ต่อ มีข้อผิดพลาดอีกประการหนึ่ง ไม่ได้กำหนดแบบฟอร์ม นี่คือซอร์สโค้ด เกิดอะไรขึ้น? เปิดซอร์สโค้ดแล้วดู ปรากฏว่ามีชื่อว่ารูท เปลี่ยนแบบฟอร์มที่รายงานข้อผิดพลาดทั้งหมดเป็นรูท หลังจากแก้ไขแล้ว ให้ติดตั้งใหม่อีกครั้ง โอเค
การควบคุมสุดท้ายในการเข้าถึงข้อมูลคือ Crpe