周玉环 d906a41c2e first commit 3 dias atrás
..
oleutil d906a41c2e first commit 3 dias atrás
.travis.yml d906a41c2e first commit 3 dias atrás
ChangeLog.md d906a41c2e first commit 3 dias atrás
LICENSE d906a41c2e first commit 3 dias atrás
README.md d906a41c2e first commit 3 dias atrás
appveyor.yml d906a41c2e first commit 3 dias atrás
com.go d906a41c2e first commit 3 dias atrás
com_func.go d906a41c2e first commit 3 dias atrás
connect.go d906a41c2e first commit 3 dias atrás
constants.go d906a41c2e first commit 3 dias atrás
error.go d906a41c2e first commit 3 dias atrás
error_func.go d906a41c2e first commit 3 dias atrás
error_windows.go d906a41c2e first commit 3 dias atrás
guid.go d906a41c2e first commit 3 dias atrás
iconnectionpoint.go d906a41c2e first commit 3 dias atrás
iconnectionpoint_func.go d906a41c2e first commit 3 dias atrás
iconnectionpoint_windows.go d906a41c2e first commit 3 dias atrás
iconnectionpointcontainer.go d906a41c2e first commit 3 dias atrás
iconnectionpointcontainer_func.go d906a41c2e first commit 3 dias atrás
iconnectionpointcontainer_windows.go d906a41c2e first commit 3 dias atrás
idispatch.go d906a41c2e first commit 3 dias atrás
idispatch_func.go d906a41c2e first commit 3 dias atrás
idispatch_windows.go d906a41c2e first commit 3 dias atrás
ienumvariant.go d906a41c2e first commit 3 dias atrás
ienumvariant_func.go d906a41c2e first commit 3 dias atrás
ienumvariant_windows.go d906a41c2e first commit 3 dias atrás
iinspectable.go d906a41c2e first commit 3 dias atrás
iinspectable_func.go d906a41c2e first commit 3 dias atrás
iinspectable_windows.go d906a41c2e first commit 3 dias atrás
iprovideclassinfo.go d906a41c2e first commit 3 dias atrás
iprovideclassinfo_func.go d906a41c2e first commit 3 dias atrás
iprovideclassinfo_windows.go d906a41c2e first commit 3 dias atrás
itypeinfo.go d906a41c2e first commit 3 dias atrás
itypeinfo_func.go d906a41c2e first commit 3 dias atrás
itypeinfo_windows.go d906a41c2e first commit 3 dias atrás
iunknown.go d906a41c2e first commit 3 dias atrás
iunknown_func.go d906a41c2e first commit 3 dias atrás
iunknown_windows.go d906a41c2e first commit 3 dias atrás
ole.go d906a41c2e first commit 3 dias atrás
safearray.go d906a41c2e first commit 3 dias atrás
safearray_func.go d906a41c2e first commit 3 dias atrás
safearray_windows.go d906a41c2e first commit 3 dias atrás
safearrayconversion.go d906a41c2e first commit 3 dias atrás
safearrayslices.go d906a41c2e first commit 3 dias atrás
utility.go d906a41c2e first commit 3 dias atrás
variables.go d906a41c2e first commit 3 dias atrás
variant.go d906a41c2e first commit 3 dias atrás
variant_386.go d906a41c2e first commit 3 dias atrás
variant_amd64.go d906a41c2e first commit 3 dias atrás
variant_arm.go d906a41c2e first commit 3 dias atrás
variant_arm64.go d906a41c2e first commit 3 dias atrás
variant_date_386.go d906a41c2e first commit 3 dias atrás
variant_date_amd64.go d906a41c2e first commit 3 dias atrás
variant_date_arm.go d906a41c2e first commit 3 dias atrás
variant_date_arm64.go d906a41c2e first commit 3 dias atrás
variant_ppc64le.go d906a41c2e first commit 3 dias atrás
variant_s390x.go d906a41c2e first commit 3 dias atrás
vt_string.go d906a41c2e first commit 3 dias atrás
winrt.go d906a41c2e first commit 3 dias atrás
winrt_doc.go d906a41c2e first commit 3 dias atrás

README.md

Go OLE

Build status Build Status GoDoc

Go bindings for Windows COM using shared libraries instead of cgo.

By Yasuhiro Matsumoto.

Install

To experiment with go-ole, you can just compile and run the example program:

go get github.com/go-ole/go-ole
cd /path/to/go-ole/
go test

cd /path/to/go-ole/example/excel
go run excel.go

Continuous Integration

Continuous integration configuration has been added for both Travis-CI and AppVeyor. You will have to add these to your own account for your fork in order for it to run.

Travis-CI

Travis-CI was added to check builds on Linux to ensure that go get works when cross building. Currently, Travis-CI is not used to test cross-building, but this may be changed in the future. It is also not currently possible to test the library on Linux, since COM API is specific to Windows and it is not currently possible to run a COM server on Linux or even connect to a remote COM server.

AppVeyor

AppVeyor is used to build on Windows using the (in-development) test COM server. It is currently only used to test the build and ensure that the code works on Windows. It will be used to register a COM server and then run the test cases based on the test COM server.

The tests currently do run and do pass and this should be maintained with commits.

Versioning

Go OLE uses semantic versioning for version numbers, which is similar to the version contract of the Go language. Which means that the major version will always maintain backwards compatibility with minor versions. Minor versions will only add new additions and changes. Fixes will always be in patch.

This contract should allow you to upgrade to new minor and patch versions without breakage or modifications to your existing code. Leave a ticket, if there is breakage, so that it could be fixed.

LICENSE

Under the MIT License: http://mattn.mit-license.org/2013