Các chương trình phức tạp và lớn trên MapBasic có cấu trúc nhiều module. Một chương trình như vậy bao gồm một module Main, các module/hàm và tệp dự án. Về mặt vật lý, module là một tệp văn bản có phần mở rộng là MB và tệp dự án có phần mở rộng là MBP. Module chính của chương trình khác với các module phụ chỉ có sự hiện diện của thủ tục Main. Cấu trúc của module Main thực tế như trong bài “Cấu trúc 1 chương trình MapBasic đơn giản“. Việc tổng hợp các mô-đun được thực hiện độc lập với nhau. Kết quả của quá trình biên dịch, các module đối tượng (các tệp có phần mở rộng MBO) sẽ được lấy cùng tệp dự án, được kết hợp thành một tệp thực thi MBX.
LƯU Ý: Có thể gộp tất cả cái tệp đề cập ở trên vào 1 tệp có phần mở rộng MB và biên dịch thành tệp thư thi MBX nếu… lười.

Hãy xem xét code ví dụ:
Test2.MB:
Include “mapbasic.def”
Declare Sub Main
Declare Sub A1
Declare Sub A2
Declare Sub B1
Declare Sub B2
Declare Sub C1
Declare Sub C2
Sub Main
Print chr$(12)
Call A1
Call A2
Call B1
Call B2
Call C1
Call C2
End Sub
Module A (A.MB):
Include “mapbasic.def”
Declare Sub A1
Declare Sub A2
Sub A1
Print “Module А: Thu tuc А1”
End Sub
Sub A2
Print “Module А: Thu tuc А2”
End Sub
Module B (B.MB):
Include “mapbasic.def”
Declare Sub B1
Declare Sub B2
Sub B1
Print “Module B: Thu tuc B1”
End Sub
Sub B2
Print “Module B: Thu tuc B2”
End Sub
Module C (C.MB):
Include “mapbasic.def”
Declare Sub C1
Declare Sub C2
Sub C1
Print “Module C: Thu tuc C1”
End Sub
Sub C2
Print “Module C: Thu tuc C2”
End Sub
Sau khi biên dịch các module này, chúng ta sẽ tạo tệp dự án Test2.MBP:
[Link]
Application=Test2.MBX
Module=Test2.MBO
Module=A.MBO
Module=B.MBO
Module=C.MBO
Cũng cần lưu ý rằng, trong ví dụ trên tất cả các thủ tục được sử dụng (gọi) trong module Main, có thể sử dụng (gọi) các thủ tục từ module B trong module A, … bạn chỉ cần bao gồm các khai báo có liên quan trong module.
Bình luận bằng Facebook Comments