[前][次][番号順一覧][スレッド一覧]

ruby-changes:34742

From: suke <ko1@a...>
Date: Tue, 15 Jul 2014 20:33:40 +0900 (JST)
Subject: [ruby-changes:34742] suke:r46825 (trunk): * ext/win32ole/win32ole.c: modify document for WIN32OLE_RECORD.

suke	2014-07-15 20:33:21 +0900 (Tue, 15 Jul 2014)

  New Revision: 46825

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=46825

  Log:
    * ext/win32ole/win32ole.c: modify document for WIN32OLE_RECORD.

  Modified files:
    trunk/ChangeLog
    trunk/ext/win32ole/win32ole.c
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 46824)
+++ ChangeLog	(revision 46825)
@@ -1,3 +1,7 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1
+Tue Jul 15 20:31:40 2014  Masaki Suketa <masaki.suketa@n...>
+
+	* ext/win32ole/win32ole.c: modify document for WIN32OLE_RECORD.
+
 Tue Jul 15 12:42:23 2014  SHIBATA Hiroshi  <shibata.hiroshi@g...>
 
 	* defs/default_gems: change version definition file of rake.
Index: ext/win32ole/win32ole.c
===================================================================
--- ext/win32ole/win32ole.c	(revision 46824)
+++ ext/win32ole/win32ole.c	(revision 46825)
@@ -9165,6 +9165,42 @@ folevariant_set_value(VALUE self, VALUE https://github.com/ruby/ruby/blob/trunk/ext/win32ole/win32ole.c#L9165
 }
 
 /*
+ * 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 https://github.com/ruby/ruby/blob/trunk/ext/win32ole/win32ole.c#L9208
  *  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) https://github.com/ruby/ruby/blob/trunk/ext/win32ole/win32ole.c#L9244
  *     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)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]