Mô tả các hàm bên ngoài
Các hàm bên ngoài được định nghĩa trong một mô-đun khác phải được mô tả rõ ràng. Mô tả bao gồm kiểu trả về, tên hàm và chuỗi các tham số đầu vào cùng với kiểu của chúng. Việc thiếu mô tả như vậy có thể dẫn đến lỗi khi biên dịch, xây dựng hoặc thực thi chương trình. Khi mô tả một đối tượng bên ngoài, hãy sử dụng từ khóa #import
để chỉ định mô-đun.
Ví dụ:
#import "user32.dll"
int MessageBoxW(int hWnd ,string szText,string szCaption,int nType);
int SendMessageW(int hWnd,int Msg,int wParam,int lParam);
#import "lib.ex5"
double round(double value);
#import
2
3
4
5
6
Với sự trợ giúp của import
, việc mô tả các hàm được gọi từ DLL bên ngoài hoặc thư viện EX5 đã biên dịch trở nên dễ dàng. Thư viện EX5 là các tệp ex5 đã biên dịch, có thuộc tính library. Chỉ các hàm được mô tả bằng bộ sửa đổi export mới có thể được nhập từ thư viện EX5.
Vui lòng lưu ý rằng DLL và thư viện EX5 nên có tên khác nhau (bất kể thư mục chứa chúng) nếu chúng được nhập cùng nhau. Tất cả các hàm được nhập có phạm vi phân giải tương ứng với "tên tệp" của thư viện.
Ví dụ:
#import "kernel32.dll"
int GetLastError();
#import "lib.ex5"
int GetLastError();
#import
class CFoo
{
public:
int GetLastError() { return(12345); }
void func()
{
Print(GetLastError()); // Gọi phương thức của lớp
Print(::GetLastError()); // Gọi hàm MQL5
Print(kernel32::GetLastError()); // Gọi hàm thư viện DLL từ kernel32.dll
Print(lib::GetLastError()); // Gọi hàm thư viện EX5 từ lib.ex5
}
};
void OnStart()
{
CFoo foo;
foo.func();
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Xem thêm