diff options
author | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-07-15 11:33:21 +0000 |
---|---|---|
committer | suke <suke@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-07-15 11:33:21 +0000 |
commit | a3f50234bc4cd0dd66c6283495dd3d07da6b48e1 (patch) | |
tree | 456947cbb36b7af7994c119559fa8a108dfd43e0 | |
parent | ee5edc5950dcd6d9577b35935e8028b25c0415c5 (diff) | |
download | ruby-a3f50234bc4cd0dd66c6283495dd3d07da6b48e1.tar.gz |
* ext/win32ole/win32ole.c: modify document for WIN32OLE_RECORD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | ext/win32ole/win32ole.c | 85 |
2 files changed, 89 insertions, 0 deletions
@@ -1,3 +1,7 @@ +Tue Jul 15 20:31:40 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp> + + * ext/win32ole/win32ole.c: modify document for WIN32OLE_RECORD. + Tue Jul 15 12:42:23 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> * defs/default_gems: change version definition file of rake. diff --git a/ext/win32ole/win32ole.c b/ext/win32ole/win32ole.c index f68de60fb2..3bf1cb4054 100644 --- a/ext/win32ole/win32ole.c +++ b/ext/win32ole/win32ole.c @@ -9165,6 +9165,42 @@ folevariant_set_value(VALUE self, VALUE val) } /* + * Document-class: WIN32OLE_RECORD + * + * <code>WIN32OLE_RECORD</code> objects represents VT_RECORD OLE variant. + * Win32OLE returns WIN32OLE_RECORD object if the result value of invoking + * OLE methods. + * + * If COM server in VB.NET ComServer project is the following: + * + * Imports System.Runtime.InteropServices + * Public Class ComClass + * Public Structure Book + * <MarshalAs(UnmanagedType.BStr)> _ + * Public title As String + * Public cost As Integer + * End Structure + * Public Function getBook() As Book + * Dim book As New Book + * book.title = "The Ruby Book" + * book.cost = 20 + * Return book + * End Function + * End Class + * + * then, you can retrieve getBook return value from the following + * Ruby script: + * + * require 'win32ole' + * obj = WIN32OLE.new('ComServer.ComClass') + * book = obj.getBook + * book.class # => WIN32OLE_RECORD + * book.title # => "The Ruby Book" + * book.cost # => 20 + * + */ + +/* * call-seq: * WIN32OLE_RECORD#to_h #=> Ruby Hash object. * @@ -9172,6 +9208,30 @@ folevariant_set_value(VALUE self, VALUE val) * The keys of Hash object are member names of VT_RECORD OLE variable and * the values of Hash object are values of VT_RECORD OLE variable. * + * If COM server in VB.NET ComServer project is the following: + * + * Imports System.Runtime.InteropServices + * Public Class ComClass + * Public Structure Book + * <MarshalAs(UnmanagedType.BStr)> _ + * Public title As String + * Public cost As Integer + * End Structure + * Public Function getBook() As Book + * Dim book As New Book + * book.title = "The Ruby Book" + * book.cost = 20 + * Return book + * End Function + * End Class + * + * then, the result of WIN32OLE_RECORD#to_h is the following: + * + * require 'win32ole' + * obj = WIN32OLE.new('ComServer.ComClass') + * book = obj.getBook + * book.to_h # => {"title"=>"The Ruby Book", "cost"=>20} + * */ static VALUE fole_record_to_h(VALUE self) @@ -9184,6 +9244,31 @@ fole_record_to_h(VALUE self) * WIN32OLE_RECORD#typename #=> String object * * Returns the type name of VT_RECORD OLE variable. + * + * If COM server in VB.NET ComServer project is the following: + * + * Imports System.Runtime.InteropServices + * Public Class ComClass + * Public Structure Book + * <MarshalAs(UnmanagedType.BStr)> _ + * Public title As String + * Public cost As Integer + * End Structure + * Public Function getBook() As Book + * Dim book As New Book + * book.title = "The Ruby Book" + * book.cost = 20 + * Return book + * End Function + * End Class + * + * then, the result of WIN32OLE_RECORD#typename is the following: + * + * require 'win32ole' + * obj = WIN32OLE.new('ComServer.ComClass') + * book = obj.getBook + * book.typename # => "Book" + * */ static VALUE fole_record_typename(VALUE self) |