2008-08-14 36 views
5

Tôi đang làm việc trên một số mã để dán vào tài liệu hiện tại đang hoạt động OpenOffice trực tiếp từ C#. Tôi không thể bao gồm bất kỳ thư viện OpenOffice nào, bởi vì chúng tôi không muốn gói chúng, vì vậy chúng tôi đang sử dụng sự phản chiếu để truy cập vào OpenOffice API.Sử dụng C# với OpenOffice thông qua sự phản chiếu

Câu hỏi của tôi liên quan đến việc sử dụng bộ điều phối thông qua phản ánh. Tôi không thể tìm ra các thông số chính xác để vượt qua nó, cho tôi một "TargetInvocationException" đáng yêu do các loại không phù hợp.

object objframe = GetProperty<object>(objcontroller, "frame"); 
if (objframe != null) 
{ 
    object[] paramlist = new object[2] {".uno:Paste", objframe}; 
    InvokeMethod<object>(objdispatcher, "executeDispatch", paramlist); 
} 

Làm cách nào để khắc phục sự cố?

Trả lời

1

Có phải chỉ là tôi hoặc là thông số của bạn không đúng cách? Ngoài ra, bạn có đúng số tham số không? Tôi có thể thiếu một cái gì đó, mặc dù rất tiếc nếu bạn đã kiểm tra công cụ này:

Các tài liệu nói:

dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array()) 

Trong đó sẽ chỉ ra cho tôi rằng bạn cần phải có danh sách tham số của bạn định nghĩa là

object[] paramlist = new object[5] {objframe, ".uno:Paste", "", 0, null}; 
Các vấn đề liên quan