Saturday, May 2, 2015

[C++ Builder] [TLIB Warning] Warning: library was too large for page size, rebuilt with page size 64


http://qc.embarcadero.com/wc/qcmain.aspx?d=99532


[C++ Builder XE6] Error! Import Bentley Microstation (V8) Type Library (E2347)



[bcc32 Error] MicroStationDGN_OCX.h(2159): E2347 Parameter mismatch in write access specifier of property Vertex
 
-------------------------------------------

[MicroStationDGN_OCX.h]

void __fastcall set_Vertex(int Index/*[in]*/,  Microstationdgn_tlb::Point3d* pVal/*[in,out]*/);

__property Microstationdgn_tlb::Point3d Vertex[int Index]={ read=get_Vertex, write=set_Vertex };


[MicroStationDGN_OCX.cpp]

void __fastcall TEllipseElement::set_Vertex(int Index/*[in]*/,
Microstationdgn_tlb::Point3d* pVal/*[in,out]*/)
{
  GetDefaultInterface()->set_Vertex(Index/*[in]*/, pVal/*[in,out]*/);
}


---------------------------------------  Solution  -----------------------------------------------------------------

[MicroStationDGN_OCX.h]

void __fastcall set_Vertex(int Index/*[in]*/,  Microstationdgn_tlb::Point3d& pVal/*[in,out]*/);



[MicroStationDGN_OCX.cpp]

void __fastcall TEllipseElement::set_Vertex(int Index/*[in]*/,
Microstationdgn_tlb::Point3d& pVal/*[in,out]*/)
{
  GetDefaultInterface()->set_Vertex(Index/*[in]*/, &pVal/*[in,out]*/);
}


---------------------- Explain  ----
Parameter type of set_ function should be the same as the type of the Property.






[C++ Builder XE6] Import Type Library as ActiveX Component (Ex: AutoCAD)


1. Create a new project.

2. [Component] [Import Component...]

3. [Import a Type Library]

4. Select the Type Library to be imported. ( Ex: AutoCAD )

5.1 Check [Generate Component Wrappers]
5.2 Assign Palette Page.

6. [Install to New Package]

7. Assign [Package Name] ........[Finish]

8.





9. Right click on the package project.....[Install]


10.

11. Components installed.


[Qt] 執行檔需要哪些 Dll?

 1. 使用 Qt  的 windeployqt.exe 工具 (在 C:\Qt\Qt5.14.1\5.14.1\msvc2017\bin\)。   a. 把執行檔 myProgram.exe 放在某個資料夾。   b. 在檔案總管這個資料夾按 Shift 和滑鼠右鍵,開啟 Po...