2013-06-27 33 views
5

Được rồi, vì vậy tôi thực sự không biết nhiều về COM. Những gì tôi biết là nếu bạn viết mã bằng một trong các ngôn ngữ lập trình do Microsoft tài trợ, bạn có thể viết một cái gì đó giống như 3 dòng mã để khởi chạy Excel, mở một sổ làm việc trống, đưa một số dữ liệu vào các ô và yêu cầu Excel vẽ biểu đồ nó. Nhưng tôi không biết làm thế nào ma thuật đen này thực sự hoạt động; tất cả những gì tôi biết là nó liên quan đến COM bằng cách nào đó.Có thể Haskell [dễ dàng] thực hiện COM không?

Có thể thực hiện điều này với Haskell không? Có phải là "dễ dàng", hay nó sẽ trở nên khó khăn? Bởi vì nếu nó dễ dàng, tôi có thể thử và làm điều này để làm việc, nhưng nếu nó thực sự khó khăn, có những cách đơn giản hơn để làm cho đồ thị Excel ...

Tôi biết rằng bạn không thực sự cần để tìm hiểu COM chỉ để đồ thị công cụ. (Ví dụ, tôi có thể sử dụng GraphVis hoặc GNUplot, hoặc Google Chart, hoặc viết một chức năng Cairo nhỏ, hoặc ...) Tôi quan tâm đến việc làm thế nào dễ dàng hoặc khó khăn để làm COM với Haskell, và đây chỉ là một ví dụ thúc đẩy .

+0

Chỉ cần làm rõ, bạn đang yêu cầu cách dễ dàng là để giao tiếp với COM hoặc cách dễ dàng là xây dựng một hệ thống giống như COM trong Haskell? –

+0

@GabrielGonzalez giống như trước đây. –

+0

@GabrielGonzalez Tôi quan tâm đến cách dễ dàng để có được Haskell để nói chuyện với tất cả các công cụ Windows hiện có mà xuất khẩu một giao diện COM. – MathematicalOrchid

Trả lời

2

HDirect từng là tiêu chuẩn, vì nó được tải lên lần cuối cách đây 3 năm, tôi tưởng tượng nó bitrotted một chút công bằng.

Có vẻ như có một số new package nhằm thực hiện cùng một loại điều.

+1

Vâng, tôi tình cờ gặp các tham chiếu đến hai điều đó, nhưng không thể tìm thấy bất kỳ _explanation_ thực tế nào về cách bạn có thể sử dụng chúng ... – MathematicalOrchid

1

Xin lỗi, tôi có thể hơi trễ một chút.

Đã có ai chơi với excel: Excel Automation with haskell gives a seg fault

Tôi đã viết một số kịch bản người giao tiếp với Clearcase và ClearQuest. Khá dễ dàng cho đến khi tôi gặp vấn đề với biến thể StringArray (xem tại câu hỏi của tôi trên SO).

Tôi đã sử dụng HDirect để tạo mã keo Haskell. Các thủ tục là:

  • ra mắt các OLE/COM Object Viewer và chọn Xem Typelib trong menu File
  • chọn DLL (ví dụ ccauto.dll cho Clearcase)
  • lưu file IDL
  • chạy HDirect trong hồ sơ IDL này để lấy mã haskell keo
  • nhập khẩu nó trong dự án của bạn
Các vấn đề liên quan