Nếu bạn đã xem tệp văn bản MapBasic (*.MB), bạn sẽ thấy mã có định dạng có thể được tạo bởi nhiều loại trình soạn thảo văn bản khác nhau cũng như MapBasic. Tuy nhiên, loại tệp văn bản này cần được biên dịch trong chương trình MapBasic trước khi có thể chuyển đổi thành tệp (*.MBX) là tệp thực thi. Các loại tệp thực thi (*.MBX) này sau đó có thể được chạy trong phần mềm MapInfo Pro để cung cấp chức năng bổ sung.
Ngoài ra, một số tệp văn bản MapBasic không tự động chuyển đổi sang định dạng tệp (*.MBX). Điều này xảy ra bởi vì chúng không có chương trình con Main() và/hoặc tệp chứa các thường trình được khai báo nhưng không được xác định trong tệp. Trong những trường hợp này, các tệp sẽ được biên dịch thành tệp (*.MBO). Các tệp mô-đun được biên dịch này sẽ không chạy trong MapInfo Pro trừ khi chúng được liên kết với nhau trong tệp dự án. Định dạng tệp dự án có định dạng tệp (*.MBP).
Vậy tại sao MapBasic có các định dạng tệp khác nhau này ? Một số chương trình khá đơn giản và có thể được hoàn thành với ít mã. Trong những trường hợp này, mọi thứ có thể được bao gồm trong một chương trình để làm cho nó chạy như một chương trình thực thi. Khi các chương trình trở nên phức tạp hơn, sẽ rất hợp lý khi chia các tác vụ thành định dạng mô-đun và do đó phát triển định dạng (*.MBO) để tạo điều kiện cho nhu cầu này.
Một lý do khác để có các chương trình mô-đun là để mã có thể được sử dụng lại theo yêu cầu trong các chương trình khác nhau. Chương trình mô-đun cũng có lợi thế là cho phép sửa đổi được thực hiện cho một phần cụ thể của chương trình mà không ảnh hưởng đến phần còn lại của mã. Kiểm tra lỗi chỉ có thể được giới hạn trong các mô-đun có các yếu tố mã đã được nâng cấp hoặc sửa đổi. Do đó, tất cả các mô-đun khác không bị ảnh hưởng và chỉ cần được liên kết với nhau để tạo chương trình mới sau khi mô-đun cụ thể được biên dịch thành công dưới dạng (*.MBO). Bằng cách sử dụng các mô-đun thay vì có một chương trình phức tạp dài, bạn cũng có thể làm cho các chương trình con và chức năng của mình cụ thể cho các tác vụ nhất định. Điều này làm cho mã của bạn đơn giản hơn để viết và duy trì.
Dưới đây là một ví dụ về định dạng tệp dự án:

ưu ý rằng bạn có thể chọn bất kỳ tên nào cho tệp thực thi của mình mặc dù thông thường nó liên quan đến tên ứng dụng của chương trình. Trong RibbonCustomizationMB.mbp, tên ứng dụng giống như một trong các tệp (*.MBO): RibbonCustomizationMB.mbo. Trong ví dụ trên, hai tệp được liên kết để tạo thành tệp thực thi.

Liên kết sẽ thành công nếu cả hai mô-đun đã được biên dịch dưới dạng tệp (*.MBO). Biên dịch tệp RibbonCustomizationMB.mb để tạo (*.MBO).

Sau đó lặp lại quy trình với tệp RibbonCustomizationMBAddin.mb.

Lưu tệp dưới dạng tệp dự án.

Vì vậy, để tạo tệp (*.MBP) bắt đầu bằng cách mở tệp mới trong MapBasic. Sau đó nhập [link] trên dòng đầu tiên. Trên dòng tiếp theo gõ tên ứng dụng bạn đã chọn. Ở đây trong ví dụ sau, tên được chọn là Application = Anyname.mbx. Vì vậy, định dạng trông giống như sau:
[link]
Application = Anyname.mbx
module=yourfirstapp.mbo
module=yoursecondapp.mbo
module=yourthirdapp.mbo
Khi tệp này đã được liên kết thành công trong MapBasic và được lưu dưới dạng tệp dự án (*.MBP), tệp thực thi có tên Anyname.mbx được tạo có thể chạy trong MapInfo Pro.
Bình luận bằng Facebook Comments