File: ho_s_15.xml

package info (click to toggle)
virtuoso-opensource 6.1.6%2Bdfsg2-4
  • links: PTS, VCS
  • area: main
  • in suites: buster, stretch
  • size: 260,992 kB
  • ctags: 125,220
  • sloc: ansic: 652,748; sql: 458,419; xml: 282,834; java: 61,031; sh: 40,031; cpp: 36,890; cs: 25,240; php: 12,692; yacc: 9,523; lex: 7,018; makefile: 6,157; jsp: 4,484; awk: 1,643; perl: 1,013; ruby: 1,003; python: 326
file content (70 lines) | stat: -rw-r--r-- 3,623 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<!--
 -  
 -  This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
 -  project.
 -  
 -  Copyright (C) 1998-2012 OpenLink Software
 -  
 -  This project is free software; you can redistribute it and/or modify it
 -  under the terms of the GNU General Public License as published by the
 -  Free Software Foundation; only version 2 of the License, dated June 1991.
 -  
 -  This program is distributed in the hope that it will be useful, but
 -  WITHOUT ANY WARRANTY; without even the implied warranty of
 -  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 -  General Public License for more details.
 -  
 -  You should have received a copy of the GNU General Public License along
 -  with this program; if not, write to the Free Software Foundation, Inc.,
 -  51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 -  
 -  
-->
<?xml version="1.0" encoding="ISO-8859-1"?>
<refentry id="HO-S-15">
    <refmeta>
	<refentrytitle>Accessing COM Objects via C#</refentrytitle>
	<refmiscinfo>tutorial</refmiscinfo>
    </refmeta>
    <refnamediv>
	<refname>Accessing COM Objects via C#</refname>
	<refpurpose>Using the .NET to access native COM objects from Virtuoso/PL</refpurpose>
    </refnamediv>
    <refsect1 id="HO-S-15a_overview">
	<title>Overview</title>
	<para>The following tutorial demonstrates how Virtuoso can access MS Windows COM
	    objects via .NET. </para>
	<para>The demonstrations in this section highlight transparent integration 
	    (hosting) between Virtuoso, the Microsoft .NET implementations of 
	    the ECMA Common Language Infrastructure (CLI) and the Win32 COM Layer. </para>
    </refsect1>
    <refsect1 id="HO-S-15a_prerequisites">
	<title>Prerequisites</title>
	<para>The following prerequisites ensure the usability of these  
	    tutorial demos on Windows: </para>
		<itemizedlist>
		    <listitem>.NET Runtime and Frameworks</listitem>
		    <listitem>.Net Runtime and Framework SDK (if you seek to write your own Objects for integration with Virtuoso)</listitem>
		    <listitem>Virtuoso Universal Server for Windows with .NET CLR Hosting</listitem>
		</itemizedlist>
    </refsect1>
    <refsect1 id="HO-S-14a">
	<title>Tutorial Example</title>
	<para>The following tutorial shows how the Virtuoso server can call native Win32 COM objects using
	    the .NET runtime as intermediary. </para>
	<para>Please follow the steps below to maximize the value of this tutorial:</para>
	<orderedlist>
	    <listitem>Register the COM library COM/VirtCOMServer/Debug/VirtCOMServer.dll with COM (via regsvr32.exe COM/VirtCOMServer/Debug/VirtCOMServer.dll).</listitem>
	    <listitem>Copy the interop assembly COM/VirtCOMServer/VirtCOMServer.dll next to the virtuoso server binary (if not allready there).</listitem>
	    <listitem>Click on the "Set Initial State" link which registers the C# interop class for the Interface IVirtCOMObject with Virtuoso. Click on the "ho_s_15.sql" link to see the code behind this step </listitem>
	    <listitem>Click on the "Run" links to actually experience the demo</listitem>
	</orderedlist>
	<para>Demo Breakdown</para>
	<orderedlist>
	    <listitem>"ho_s_15.sql" registers the "VirtCOMServer.CVirtCOMObjectClass" C# interop class with Virtuoso. Click 
		on the "VirtCOMObject.c" and "VirtCOMObject.h" link to see the C++ source code of this interface and it's class</listitem>
	    <listitem>	"vsp1.vsp" uses the methods "AddAmount", "Clear" and "get_balance" of the "VirtCOMServer.IVirtCOMObject" Interface to 
		sum a number of amounts and get the resulting total.</listitem>
	</orderedlist>
    </refsect1>
</refentry>