Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Làm thế nào để tạo một form và hiển thị form đó trong khi thực thi một số hàm có trong DLL?

  1. #1
    Ngày gia nhập
    11 2015
    Bài viết
    26

    Question Làm thế nào để tạo một form và hiển thị form đó trong khi thực thi một số hàm có trong DLL?

    Chào cả nhà!

    Hiện tại em đang tìm hiểu viết một Plugins cho chương trình Amibroker bằng C++. Em đang gặp khó khăn là không biết làm thế nào để tạo một form và hiển thị form đó trong khi thực thi một số hàm có trong DLL (Plugins mà em đang tạo).

    Em có tìm được link này để gọi hiển thị một form nhưng lại trong chương trình EXE và gọi hiển thị form bằng cách kích vào nút chọn trên form chính http://www.jose.it-berater.org/smffo...11159#msg11159

    Em đã có gắng tìm hiểu và thử nhiều cách để sử dụng trong DLL nhưng không được. Em rất mong nhận được sự giúp đỡ hay hướng dẫn từ cộng đồng và các anh chị để xử lý vấn đề nói trên.

    Em cảm ơn rất rất nhiều!

  2. #2
    Ngày gia nhập
    02 2014
    Nơi ở
    TP.HCM
    Bài viết
    872

    Trích dẫn Nguyên bản được gửi bởi luonguct Xem bài viết
    Chào cả nhà!

    Hiện tại em đang tìm hiểu viết một Plugins cho chương trình Amibroker bằng C++. Em đang gặp khó khăn là không biết làm thế nào để tạo một form và hiển thị form đó trong khi thực thi một số hàm có trong DLL (Plugins mà em đang tạo).

    Em có tìm được link này để gọi hiển thị một form nhưng lại trong chương trình EXE và gọi hiển thị form bằng cách kích vào nút chọn trên form chính http://www.jose.it-berater.org/smffo...11159#msg11159

    Em đã có gắng tìm hiểu và thử nhiều cách để sử dụng trong DLL nhưng không được. Em rất mong nhận được sự giúp đỡ hay hướng dẫn từ cộng đồng và các anh chị để xử lý vấn đề nói trên.

    Em cảm ơn rất rất nhiều!
    Có (nhiều) tài liệu khuyến cáo là không nên tạo cửa sổ từ hàm lệnh trong dll, nhất là với các exe có lập trình đa luồng. Hình như trên diễn đàn cũng có một bài nói về chuyện này mà lười tìm quá. Nếu không có liên quan đến đa luồng thì ta vẫn có thể dùng các kiến thức thông thường để thực hiện nó. Tôi chỉ thấy điểm khác biệt cần để ý là hàm thư viện chạy nhân danh tiến trình gọi - Nghĩa là cửa sổ tạo từ dll vẫn phải lấy thể hiện từ thể hiện của exe chứ không phải là thể hiện của bản thân dll.

    Chương trình exe bên dưới, khi Click vùng Client thì gọi một hàm từ dll. Hàm từ dll sẽ xuất ra một cửa sổ thông thường khác (overlappedwindow). Khi đã có 2 cửa sổ trên màn hình, khi Click bất kỳ 1 trong 2 cửa sổ đó thì cửa sổ còn lại sẽ in tổng số lần người dùng đã Click trên cửa sổ kia.

    Mã nguồn
    Attached Files Attached Files

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn