吉里吉里2 Ver2.32r2に付属のドキュメント追加
This commit is contained in:
537
docs/tjs2doc/contents/simple.html
Normal file
537
docs/tjs2doc/contents/simple.html
Normal file
@@ -0,0 +1,537 @@
|
||||
<?xml version="1.0" encoding="Shift_JIS"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
|
||||
<!-- generated by to_html.pl from simple.xml -->
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
|
||||
<title>���{�I�Ȏg����</title>
|
||||
<meta name="author" content="W.Dee" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
||||
<link href="browser.css" type="text/css" rel="stylesheet" title="�g���g���֘A���t�@�����X�p�W���X�^�C��" />
|
||||
<link href="mailto:[email protected]" rev="Made" />
|
||||
<link href="index.html" target="_top" rel="Start" title="�g�b�v�y�[�W" />
|
||||
</head>
|
||||
<body>
|
||||
<h1><a id="id318" name="id318">�R���p�C��</a>
|
||||
</h1><div class="para"><div>
|
||||
�@Borland C++ 5.5 �ȍ~ ( C++ Builder 5 �ȍ~ ) �ŃR���p�C�������邱�Ƃ��ł��܂��B<br />
|
||||
<br />
|
||||
�@�R���p�C���ɂ� boost.org �� regex++ ���K�v�ɂȂ��܂��B<br />
|
||||
<br />
|
||||
�@regex++ ���C���X�g�[���������A�e cpp �t�@�C�����R���p�C�������������B<br />
|
||||
<br />
|
||||
�@C++ Builder �̏ꍇ�́Atjs2 �̊e cpp �t�@�C�������ׂăv���W�F�N�g�ɒlj����邾���� OK �ł��B<br />
|
||||
<br />
|
||||
�@gcc 3 �ȍ~�ł��R���p�C���ł��܂� ( 2.95 �ł��R���p�C���ł��܂��� wstring �֘A�̏C�����K�v )�B<br />
|
||||
</div></div>
|
||||
<h1><a id="id319" name="id319">�ȒP�ȗ�</a>
|
||||
</h1><div class="para"><div>
|
||||
<br />
|
||||
|
||||
<br />
|
||||
<code class="bq"><span class="weak">��:</span><br /><span class="linenumber"> 1|</span>#include <stdio.h><br />
|
||||
<span class="linenumber"> 2|</span>#include "tjs.h"<br />
|
||||
<span class="linenumber"> 3|</span>#include "tjsError.h"<br />
|
||||
<span class="linenumber"> 4|</span><br />
|
||||
<span class="linenumber"> 5|</span>int main(int argc, char* argv[])<br />
|
||||
<span class="linenumber"> 6|</span>{<br />
|
||||
<span class="linenumber"> 7|</span> setlocale(LC_ALL, ""); <span class="comment">// ���P�[�����ݒ�</span><br />
|
||||
<span class="linenumber"> 8|</span><br />
|
||||
<span class="linenumber"> 9|</span> tTJS *tjsengine = new tTJS(); <span class="comment">// TJS2 �X�N���v�g�G���W�����쐬</span><br />
|
||||
<span class="linenumber"> 10|</span><br />
|
||||
<span class="linenumber"> 11|</span> try<br />
|
||||
<span class="linenumber"> 12|</span> {<br />
|
||||
<span class="linenumber"> 13|</span> tTJSVariant result; <span class="comment">// ���ʂ����邽�߂̕ϐ�</span><br />
|
||||
<span class="linenumber"> 14|</span><br />
|
||||
<span class="linenumber"> 15|</span> tjsengine->ExecScript(<br />
|
||||
<span class="linenumber"> 16|</span> TJS_W(<br />
|
||||
<span class="linenumber"> 17|</span> "function test(x, y) { return x*y; } \n"<br />
|
||||
<span class="linenumber"> 18|</span> "return test(4, 5);\n"),<br />
|
||||
<span class="linenumber"> 19|</span> &result, NULL,<br />
|
||||
<span class="linenumber"> 20|</span> TJS_W("test code")); <span class="comment">// �e�X�g�X�N���v�g�����s</span><br />
|
||||
<span class="linenumber"> 21|</span><br />
|
||||
<span class="linenumber"> 22|</span> printf("���� : %d\n", (int)result); <span class="comment">// ���ʂ��\��</span><br />
|
||||
<span class="linenumber"> 23|</span> }<br />
|
||||
<span class="linenumber"> 24|</span> catch(eTJSError &e)<br />
|
||||
<span class="linenumber"> 25|</span> {<br />
|
||||
<span class="linenumber"> 26|</span> printf("�G���[���������܂��� : %ls\n", e.GetMessage().c_str());<br />
|
||||
<span class="linenumber"> 27|</span> }<br />
|
||||
<span class="linenumber"> 28|</span> catch(...)<br />
|
||||
<span class="linenumber"> 29|</span> {<br />
|
||||
<span class="linenumber"> 30|</span> printf("�G���[���������܂���\n");<br />
|
||||
<span class="linenumber"> 31|</span> }<br />
|
||||
<span class="linenumber"> 32|</span><br />
|
||||
<span class="linenumber"> 33|</span> tjsengine->Shutdown(); <span class="comment">// TJS2 �X�N���v�g�G���W�����V���b�g�_�E��</span><br />
|
||||
<span class="linenumber"> 34|</span> tjsengine->Release(); <span class="comment">// TJS2 �X�N���v�g�G���W��������</span><br />
|
||||
<span class="linenumber"> 35|</span><br />
|
||||
<span class="linenumber"> 36|</span> return 0;<br />
|
||||
<span class="linenumber"> 37|</span>}<br />
|
||||
</code>
|
||||
<br />
|
||||
|
||||
<br />
|
||||
<dl>
|
||||
<dt>2�`3�s��</dt>
|
||||
<dd>TJS2 ���g�p�����̂ɕK�v�ȃw�b�_�t�@�C�����ǂݍ����ł��܂��BtjsError.h �� TJS �� C++ ���O�Ɋւ����錾���܂܂��Ă��܂��B</dd>
|
||||
|
||||
|
||||
<dt>7�s��</dt>
|
||||
<dd>setlocale �Ń��P�[�����w�肵�Ă��܂��B���P�[�����w�肵�Ȃ��� "C" ���P�[���ɂȂ邽�߁A���{�ꕶ���̃i���[�����ƃ��C�h�����Ԃ̕ϊ������܂������܂����B</dd>
|
||||
|
||||
|
||||
<dt>9�s��</dt>
|
||||
<dd>TJS2 �X�N���v�g�G���W���� new ���Z�q�ō쐬���Ă��܂��B</dd>
|
||||
|
||||
|
||||
<dt>11�s��</dt>
|
||||
<dd>try �u���b�N�ɓ����Ă��܂��BTJS2 �̃G���[�͗��O�ɂ����ʒm�����邽�߁A���O�����ɂ͐T�d�ɂȂ��K�v�������܂��B</dd>
|
||||
|
||||
|
||||
<dt>13�s��</dt>
|
||||
<dd>�@�X�N���v�g�����s�������ʂ����邽�߂� tTJSVariant �^�̕ϐ����錾���Ă��܂��B</dd>
|
||||
|
||||
|
||||
<dt>15�`20�s��</dt>
|
||||
<dd>�@tTJS::ExecScript ���g���ăX�N���v�g�����s���Ă��܂��B<br />
|
||||
�@���P�����ɂ͎��s�����X�N���v�g���w�肵�܂��Btjs_char * �^�œn�����߂ɁA�����e������ TJS_W �}�N�����g���ă��C�h�������ɕϊ����Ă��܂��B�X�N���v�g�ł́A�� test �����`���A���̊����Ă��ʂ��Ԃ��Ă��܂��B<br />
|
||||
�@���̗��ł� return ���ɂ������s�̌��ʂ��Ԃ��A������ result �ϐ��Ŏ����Ă��܂����A���ʂ������K�v���Ȃ��ꍇ�� return ���� tTJS::ExecScript �̂Q�Ԗڂ̈������K�v�����܂��� ( ���̏ꍇ�͂Q�Ԗڂ̈����� NULL ���w�肵�܂� )�B<br />
|
||||
�@tTJS::ExecScript �̂R�Ԗڂ̈����͎��s�R���e�L�X�g�ł����A�����ł� NULL ���w�肵�܂��BNULL ���w�肷���� �X�N���v�g�� global �R���e�L�X�g���Ŏ��s�����܂��B<br />
|
||||
�@tTJS::ExecScript �̂S�Ԗڂ̈����́A���̃X�N���v�g�̖��O���w�肵�܂��BNULL�̏ꍇ�͓����Ƃ��Ĉ������܂��B�l�Ԃ��ǂȖ��O�ł����K�v�������܂��B</dd>
|
||||
|
||||
|
||||
<dt>22�s��</dt>
|
||||
<dd>�@���ʂ��\�����Ă��܂��B�����ł� tTJSVariant �� int �^�ɃL���X�g���Ă��܂��B</dd>
|
||||
|
||||
|
||||
<dt>24�s��</dt>
|
||||
<dd>�@eTJSError �^�̗��O�������Ă��܂��B</dd>
|
||||
|
||||
|
||||
<dt>26�s��</dt>
|
||||
<dd>�@eTJSError::GetMessage ���g���āA���O�̗��R���\�����Ă��܂��B���b�Z�[�W�� const tjs_char * �ɕϊ����邽�߂� tTJSString::c_str ���g���Ă��܂��Btjs_char �� ���C�h�����̂��߁Aprintf �̕ϊ��w���q�ɂ� %ls ���w�肵�Ă��܂��B</dd>
|
||||
|
||||
|
||||
<dt>28�s��</dt>
|
||||
<dd>�@���̑��̗��O�������Ă��܂��B</dd>
|
||||
|
||||
|
||||
<dt>33�`34�s��</dt>
|
||||
<dd>�@TJS2 �X�N���v�g�G���W�����������Ă��܂��B�����ɐ旧���AtTJS::Shutdown ���g���� TJS2 �X�N���v�g�G���W�����V���b�g�_�E�����Ă��܂��B</dd></dl></div></div>
|
||||
|
||||
<h1><a id="id320" name="id320">TJS2���̊��̌Ăяo��</a>
|
||||
</h1><div class="para"><div>
|
||||
�@TJS2���Ő錾��������C++�����Ăяo�����@�ł��B<br />
|
||||
�@�O�q�� try �u���b�N�̒����ȉ��̂悤�ɏ����Ă݂܂��B<br />
|
||||
<br />
|
||||
|
||||
<br />
|
||||
<code class="bq"><span class="weak">��:</span><br /><span class="linenumber"> 1|</span> tTJSVariant result; <span class="comment">// ���ʂ����邽�߂̕ϐ�</span><br />
|
||||
<span class="linenumber"> 2|</span><br />
|
||||
<span class="linenumber"> 3|</span> tjsengine->ExecScript(<br />
|
||||
<span class="linenumber"> 4|</span> TJS_W("function test(x, y) { return x*y; }"), NULL, NULL, TJS_W("test"));<br />
|
||||
<span class="linenumber"> 5|</span><br />
|
||||
<span class="linenumber"> 6|</span> tjsengine->EvalExpression(TJS_W("test(4, 5)"), &result, NULL, NULL);<br />
|
||||
<span class="linenumber"> 7|</span> <span class="comment">// tTJS::EvalExpression ���g���������s</span><br />
|
||||
<span class="linenumber"> 8|</span><br />
|
||||
<span class="linenumber"> 9|</span> printf("���� : %d\n", (int)result); <span class="comment">// ���ʂ��\��</span><br />
|
||||
<span class="linenumber"> 10|</span><br />
|
||||
<span class="linenumber"> 11|</span> iTJSDispatch2 * global = tjsengine->GetGlobalNoAddRef();<br />
|
||||
<span class="linenumber"> 12|</span> <span class="comment">// �O���[�o���I�u�W�F�N�g���擾</span><br />
|
||||
<span class="linenumber"> 13|</span><br />
|
||||
<span class="linenumber"> 14|</span> tTJSVariant param[] = { 4, 5 }; <span class="comment">// �p�����[�^�Ƃ��ēn���ϐ�</span><br />
|
||||
<span class="linenumber"> 15|</span> tTJSVariant *p_param[] = { param + 0, param + 1 }; <span class="comment">// �ϐ��ւ̃|�C���^�̔z��</span><br />
|
||||
<span class="linenumber"> 16|</span><br />
|
||||
<span class="linenumber"> 17|</span> TJS_THROW_IF_ERROR(global->FuncCall(0, TJS_W("test"), NULL, &result, 2, p_param, NULL));<br />
|
||||
<span class="linenumber"> 18|</span> <span class="comment">// test �����Ƃ��ČĂяo��</span><br />
|
||||
<span class="linenumber"> 19|</span><br />
|
||||
<span class="linenumber"> 20|</span> printf("���� : %d\n", (int)result); <span class="comment">// ���ʂ��\��</span><br />
|
||||
</code>
|
||||
<br />
|
||||
|
||||
<br />
|
||||
<dl>
|
||||
<dt>3�`4�s��</dt>
|
||||
<dd>�@�� test ���錾���Ă��܂��Btest �� global �ɓo�^�����܂��B</dd>
|
||||
|
||||
|
||||
<dt>6�s��</dt>
|
||||
<dd>�@tTJS::EvalExpression ���g���Ď������s���Ă��܂��B�����قǑ��x�I�ɃV�r�A�łȂ��Ă��悢�Ȃ��A���̂悤�� �������Ƃ��ēn���Ă��̌��ʂ������Ɗy�ł��B<br />
|
||||
�@���Ȃ݂ɁA�P���Ȏ� ( ���錾�ȂǁA���̎��s�P�ʂ��܂܂Ȃ��悤�Ȃ��� ) �Ȃ��A�������x�A�R���p�C�����ʂ��L���b�V�������A�Q���ڈȍ~�̎��]���������ɍs�����Ƃ��ł��܂��B</dd>
|
||||
|
||||
|
||||
<dt>11�s��</dt>
|
||||
<dd>�@�O���[�o���I�u�W�F�N�g���擾���Ă��܂��BtTJS::GetGlobal �� tTJS::GetGlobalNoAddRef �̈Ⴂ�́A�O�҂� global �I�u�W�F�N�g�̎Q�ƃJ�E���^���C���N�������g�����̂ɑ��A���҂̓C���N�������g���Ȃ��ƌ������Ƃł��B<br />
|
||||
�@�Q�ƃJ�E���^���C���N�������g���A�g���I���������f�N�������g�����ƌ������Ƃ́A���̊Ԓ��A���̃I�u�W�F�N�g�����ł��Ȃ��悤�Ƀ��b�N���������ƌ������Ƃł��B���̗��̂悤�ɁAglobal �I�u�W�F�N�g�����ł����S�z�̂Ȃ��ꍇ�͎Q�ƃJ�E���^�𑀍삷���K�v�͂����܂����̂� tTJS::GetGlobalNoAddRef ���g�����Ƃ��ł��܂��B�܂��A���̏ꍇ�͎g���I�������Ƃ��� Release �͕K�v�����܂����B</dd>
|
||||
|
||||
|
||||
<dt>14�`15�s��</dt>
|
||||
<dd>�@���ɓn���p�����[�^���������Ă��܂��BiTJSDispatch::FuncCall �́A���ɓn���p�����[�^�Ƃ��� tTJSVariant �^�̃|�C���^�̔z�����K�v�Ƃ��邽�߁A���̂悤�ȏ������K�v�ɂȂ��܂��B</dd>
|
||||
|
||||
|
||||
<dt>17�s��</dt>
|
||||
<dd>�@iTJSDispatch2::FuncCall ���g���āA�� "test" ���Ăяo���Ă��܂��B<br />
|
||||
�@FuncCall �̍Ō��̈����́A�� test �ɓn������ this (���s�R���e�L�X�g) �ł����A���̗��Ő錾���� test ���ł� this ���g���Ă��Ȃ��̂� NULL ���w�肵�Ă��܂��܂����B���s���ׂ��R���e�L�X�g�������ꍇ�́A���̃I�u�W�F�N�g���w�肷���K�v�������܂��B<br />
|
||||
�@TJS_THROW_IF_ERROR �́Atjs_error �^�̌��ʂ��G���[�������ꍇ�A�����ɑΉ������G���[���b�Z�[�W�ƂƂ��ɗ��O�𑗏o�����}�N���ł��B</dd></dl></div></div>
|
||||
|
||||
<h1><a id="id321" name="id321">�l�C�e�B�u��</a>
|
||||
</h1><div class="para"><div>
|
||||
�@�l�C�e�B�u���� (C++�ȂǂŎ������ꂽ��) ���쐬���ATJS2 �����炻���ɃA�N�Z�X���邱�Ƃ��ł��܂��B<br />
|
||||
�@C++ �łȂ��Ă��AiTJSDispatch2 �������ł��錾���Ȃ��A�ǂ̂悤�Ȍ����ŏ����ꂽ���ł��Ăяo�����Ƃ��ł��܂����AC++ �����Ԋy�ł��傤�B<br />
|
||||
<br />
|
||||
�@C++ �� ���������ꍇ�́AtTJSNativeFunction (tjsNative.h �ɋL�q) �����N���X�o�����̂��y�ł� (�������AiTJSDispatch2 �� FuncCall ���������邾���ł����Ƃ��ē����͂ł��܂�)�B<br />
|
||||
<br />
|
||||
�@�^�����ꂽ�Q�̈��������Z���ĕԂ��A�ȒP�Ȋ����������Ă݂܂��B<br />
|
||||
|
||||
<br />
|
||||
<code class="bq"><span class="weak">��:</span><br /><span class="linenumber"> 1|</span>class TestFunc : public tTJSNativeFunction<br />
|
||||
<span class="linenumber"> 2|</span>{<br />
|
||||
<span class="linenumber"> 3|</span>public:<br />
|
||||
<span class="linenumber"> 4|</span> tjs_error Process(tTJSVariant *result, tjs_int numparams,<br />
|
||||
<span class="linenumber"> 5|</span> tTJSVariant **param, iTJSDispatch2 *objthis)<br />
|
||||
<span class="linenumber"> 6|</span> {<br />
|
||||
<span class="linenumber"> 7|</span> if(numparams < 2) return TJS_E_BADPARAMCOUNT; <span class="comment">// �����������Ȃ�</span><br />
|
||||
<span class="linenumber"> 8|</span><br />
|
||||
<span class="linenumber"> 9|</span> if(!result) return TJS_S_OK; <span class="comment">// ���ʂ��i�[���Ȃ��ėǂ��ꍇ�͂��̂܂܂��ǂ�</span><br />
|
||||
<span class="linenumber"> 10|</span><br />
|
||||
<span class="linenumber"> 11|</span> *result = *param[0] * *param[1]; <span class="comment">// �v�Z</span><br />
|
||||
<span class="linenumber"> 12|</span><br />
|
||||
<span class="linenumber"> 13|</span> return TJS_S_OK; <span class="comment">// �����ɏI���������Ƃ��������� TJS_S_OK ���Ԃ�</span><br />
|
||||
<span class="linenumber"> 14|</span> }<br />
|
||||
<span class="linenumber"> 15|</span>};<br />
|
||||
</code>
|
||||
<br />
|
||||
|
||||
<br />
|
||||
�@tTJSNativeFunction ���p�������N���X�Ŏ������ׂ��Ȃ̂́A���L�̒ʂ� Process ���\�b�h�����ł��B<br />
|
||||
�@Process ���\�b�h�̈����͈ȉ��̒ʂ��ł��B<br />
|
||||
<br />
|
||||
<dl>
|
||||
<dt>tTJSVariant *result</dt>
|
||||
<dd>�@���̌��ʂ��i�[���邽�߂� tTJSVariant �^�̕ϐ��ւ̃|�C���^���n�����܂��B<em>�Ăяo���������ʂ��K�v�Ƃ��Ȃ��ꍇ�� NULL ���n�����܂�</em>�̂Œ��ӂ��Ă��������B</dd>
|
||||
|
||||
|
||||
<dt>tjs_int numparams</dt>
|
||||
<dd>�@���ɓn���ꂽ�����̐��ł��B</dd>
|
||||
|
||||
|
||||
<dt>tTJSVariant **param</dt>
|
||||
<dd>�@���ɓn���ꂽ�������i�[���ꂽ tTJSVariant �^�̕ϐ��ւ̃|�C���^�̔z���ł��B</dd>
|
||||
|
||||
|
||||
<dt>iTJSDispatch2 *objthis</dt>
|
||||
<dd>�@�������s�������ׂ��R���e�L�X�g�ł��B�R���e�L�X�g�Ɉˑ����Ȃ������������ꍇ�͖������Ă��܂��܂����B</dd></dl><br />
|
||||
<br />
|
||||
<br />
|
||||
�@�l�C�e�B�u���� TJS2 �����A�N�Z�X�\�ɂ��邽�߁ATJS2 �������A�N�Z�X�ł����I�u�W�F�N�g�ɓo�^�����K�v�������܂��B�ȉ��̗��ł́Aglobal �� "test" �Ƃ������O�œo�^���Ă��܂��B�܂��A���ۂɂ��̊����Ăяo���Ă��܂��B<br />
|
||||
|
||||
<br />
|
||||
<code class="bq"><span class="weak">��:</span><br /><span class="linenumber"> 1|</span> iTJSDispatch2 * global = tjsengine->GetGlobalNoAddRef();<br />
|
||||
<span class="linenumber"> 2|</span> <span class="comment">// �O���[�o���I�u�W�F�N�g���擾</span><br />
|
||||
<span class="linenumber"> 3|</span><br />
|
||||
<span class="linenumber"> 4|</span> iTJSDispatch2 *func = new TestFunc(); <span class="comment">// TestFunc �̃I�u�W�F�N�g���쐬</span><br />
|
||||
<span class="linenumber"> 5|</span> tTJSVariant func_var(func); <span class="comment">// tTJSVariant �^ func_var �ɃI�u�W�F�N�g���ݒ�</span><br />
|
||||
<span class="linenumber"> 6|</span> func->Release(); <span class="comment">// func �� Release</span><br />
|
||||
<span class="linenumber"> 7|</span><br />
|
||||
<span class="linenumber"> 8|</span> TJS_THROW_IF_ERROR(<br />
|
||||
<span class="linenumber"> 9|</span> global->PropSet(TJS_MEMBERENSURE, TJS_W("test"), NULL, &func_var, NULL));<br />
|
||||
<span class="linenumber"> 10|</span> <span class="comment">// �o�^</span><br />
|
||||
<span class="linenumber"> 11|</span><br />
|
||||
<span class="linenumber"> 12|</span> tTJSVariant result; <span class="comment">// ���ʂ����邽�߂̕ϐ�</span><br />
|
||||
<span class="linenumber"> 13|</span> tjsengine->EvalExpression(TJS_W("test(4, 5)"), &result, NULL, NULL);<br />
|
||||
<span class="linenumber"> 14|</span> <span class="comment">// tTJS::EvalExpression ���g���������s</span><br />
|
||||
<span class="linenumber"> 15|</span><br />
|
||||
<span class="linenumber"> 16|</span> printf("���� : %d\n", (int)result); <span class="comment">// ���ʂ��\��</span><br />
|
||||
</code>
|
||||
<br />
|
||||
|
||||
<br />
|
||||
<dl>
|
||||
<dt>4�`6�s��</dt>
|
||||
<dd>�@�l�C�e�B�u�����������Ă����N���X TestFunc �̃I�u�W�F�N�g���쐬���A������ tTJSVariant �^�ɕϊ����Ă��܂��B<br />
|
||||
�@5�s�ڂ� tTJSVariant �^�ɕϊ����Ă��܂����A���̎��_�� tTJSVariant �^�� ���I�u�W�F�N�g�̎Q�ƃJ�E���^�������I�ɊǗ������̂ŁA6�s�ڂŊ��I�u�W�F�N�g�� Release ���Ă��܂��B</dd>
|
||||
|
||||
|
||||
<dt>8�`9�s��</dt>
|
||||
<dd>�@global �I�u�W�F�N�g�Ɋ��� "test" �Ƃ������O�œo�^���Ă��܂��Bglobal �I�u�W�F�N�g�� iTJSDispatch2::PropSet ���Ă��ł��܂����A�����o���V�K�쐬�����邽�߂� TJS_MEMBERENSURE �t���O���ČĂяo���Ă��܂��B</dd>
|
||||
|
||||
|
||||
<dt>12�`16�s��</dt>
|
||||
<dd>�@���ۂɊ����Ăяo���A���ʂ��\�����Ă��܂��B</dd></dl></div></div>
|
||||
<h1><a id="id322" name="id322">�l�C�e�B�u�N���X</a>
|
||||
</h1><div class="para"><div>
|
||||
�@TJS2 �� C++ ���̌����ŏ����ꂽ�l�C�e�B�u�N���X���������߂̋@�\�������Ă��܂��B<br />
|
||||
�@�e�I�u�W�F�N�g (iTJSDispatch2 �C���^�[�t�F�[�X) �ɂ̓l�C�e�B�u�C���X�^���X�ƌĂ����AiTJSNativeInstance �^�̃I�u�W�F�N�g���o�^���邱�Ƃ��ł��A������ �I�u�W�F�N�g���������o�����Ƃ��ł��܂��B<br />
|
||||
�@�l�C�e�B�u�C���X�^���X�͈��ӂȃN���X ID �Ŏ��ʂ����A�l�C�e�B�u�N���X�̍쐬���ɂ̓N���X ID ���擾�����K�v�������܂��B<br />
|
||||
<br />
|
||||
�@�������A�������̑������s���ׂ̃}�N���Q�� tjsNative.h �ɒ��`�����Ă����̂ŁA�������𗘗p�����̂��y�ł��B<br />
|
||||
�@�ȉ��̗��́A�������̃}�N�����g���ĊȒP�ȃN���X�������������̂ł��B<br />
|
||||
<br />
|
||||
�@�܂��A�l�C�e�B�u�C���X�^���X�̎����ł��B�l�C�e�B�u�C���X�^���X�����������ɂ� tTJSNativeInstance �����N���X�o���܂��BtTJSNativeInstance �� tjsNative.cpp / tjsNative.h �Ɏ��������Ă����N���X�ŁAiTJSNativeInstance �̊��{�I�ȓ������������Ă��܂��B<br />
|
||||
<br />
|
||||
|
||||
<br />
|
||||
<code class="bq"><span class="weak">��:</span><br /><span class="linenumber"> 1|</span>class NI_Test : public tTJSNativeInstance <span class="comment">// �l�C�e�B�u�C���X�^���X</span><br />
|
||||
<span class="linenumber"> 2|</span>{<br />
|
||||
<span class="linenumber"> 3|</span>public:<br />
|
||||
<span class="linenumber"> 4|</span> NI_Test()<br />
|
||||
<span class="linenumber"> 5|</span> {<br />
|
||||
<span class="linenumber"> 6|</span> <span class="comment">// �R���X�g���N�^</span><br />
|
||||
<span class="linenumber"> 7|</span> Value = 0;<br />
|
||||
<span class="linenumber"> 8|</span> }<br />
|
||||
<span class="linenumber"> 9|</span><br />
|
||||
<span class="linenumber"> 10|</span> tjs_error TJS_INTF_METHOD<br />
|
||||
<span class="linenumber"> 11|</span> Construct(tjs_int numparams, tTJSVariant **param, iTJSDispatch2 *tjs_obj)<br />
|
||||
<span class="linenumber"> 12|</span> {<br />
|
||||
<span class="linenumber"> 13|</span> <span class="comment">// TJS2 �I�u�W�F�N�g���쐬�������Ƃ��ɌĂ���</span><br />
|
||||
<span class="linenumber"> 14|</span><br />
|
||||
<span class="linenumber"> 15|</span> <span class="comment">// ���������������������l�Ƃ��� Value �ɓ�����</span><br />
|
||||
<span class="linenumber"> 16|</span> if(numparams >= 1 && param[0]->Type() != tvtVoid)<br />
|
||||
<span class="linenumber"> 17|</span> Value = (tjs_int)*param[0];<br />
|
||||
<span class="linenumber"> 18|</span><br />
|
||||
<span class="linenumber"> 19|</span> return S_OK;<br />
|
||||
<span class="linenumber"> 20|</span> }<br />
|
||||
<span class="linenumber"> 21|</span><br />
|
||||
<span class="linenumber"> 22|</span> void TJS_INTF_METHOD Invalidate()<br />
|
||||
<span class="linenumber"> 23|</span> {<br />
|
||||
<span class="linenumber"> 24|</span> <span class="comment">// �I�u�W�F�N�g���������������Ƃ��ɌĂ���</span><br />
|
||||
<span class="linenumber"> 25|</span> }<br />
|
||||
<span class="linenumber"> 26|</span><br />
|
||||
<span class="linenumber"> 27|</span> void SetValue(tjs_int n) { Value = n; }<br />
|
||||
<span class="linenumber"> 28|</span> tjs_int GetValue() const { return Value; }<br />
|
||||
<span class="linenumber"> 29|</span><br />
|
||||
<span class="linenumber"> 30|</span> tjs_int GetSquare() const { return Value*Value; }<br />
|
||||
<span class="linenumber"> 31|</span> void Add(tjs_int n) { Value += n; }<br />
|
||||
<span class="linenumber"> 32|</span> void Print() const { printf("%d\n", Value); }<br />
|
||||
<span class="linenumber"> 33|</span><br />
|
||||
<span class="linenumber"> 34|</span>private:<br />
|
||||
<span class="linenumber"> 35|</span> tjs_int Value; <span class="comment">// �l</span><br />
|
||||
<span class="linenumber"> 36|</span>};<br />
|
||||
</code>
|
||||
<br />
|
||||
|
||||
<br />
|
||||
<dl>
|
||||
<dt>35�s��</dt>
|
||||
<dd>�@�b���O�サ�܂����A�f�[�^�����o�ł��B�l�C�e�B�u�C���X�^���X�ɂ́A�K�v�ȃf�[�^�����o�����R�ɏ������Ƃ��ł��܂��B</dd>
|
||||
|
||||
<dt>4�`8�s��</dt>
|
||||
<dd>�@NI_Test �̃R���X�g���N�^�ł��BC++ �N���X�Ƃ��Ă̏������� ���q�� Construct �����������ōς܂��Ă����AConstruct �ł̏������͍ŏ����̕��ɂ��邱�Ƃ��������߂��܂��B<br />
|
||||
�@���̗��ł́A�f�[�^�����o�� Value �ɏ����l�Ƃ��� 0 ���ݒ肵�Ă��܂��B</dd>
|
||||
|
||||
|
||||
<dt>10�`20�s��</dt>
|
||||
<dd>�@new ���Z�q�� TJS2 �I�u�W�F�N�g���쐬�������Ƃ��ɌĂ��܂��Bnumparams �� param ������ new ���Z�q�ɓn���ꂽ�������\���Ă��܂��B<br />
|
||||
�@tjs_obj �����́A�쐬������ TJS �I�u�W�F�N�g�ł��B<br />
|
||||
�@���̗��ł́A������������ (�����ɂ��ꂪ void �Ŗ������� )�A������ Value �̏����l�Ƃ��Đݒ肵�Ă��܂��B</dd>
|
||||
|
||||
|
||||
<dt>22�`25�s��</dt>
|
||||
<dd>�@�I�u�W�F�N�g���������������Ƃ��ɌĂ��郁�\�b�h�ł��B�����ɏI�������������Ɨǂ��ł��傤�B<br />
|
||||
�@���̗��ł͉������܂����B</dd>
|
||||
|
||||
|
||||
<dt>27�`32�s��</dt>
|
||||
<dd>�@�f�[�^�����o�𑀍삷�邽�߂̌��J���\�b�h�Q�ł��B���q�����l�C�e�B�u�N���X���ŁA�������𗘗p�����R�[�h�������܂��B</dd></dl><br />
|
||||
�@�I�u�W�F�N�g���쐬���邽�߂ɂ̓N���X���K�v�ł��̂ŁA�N���X���L�q���܂��B�N���X�� tTJSNativeClass �o�����`�Ŏ������܂��BtTJSNativeClass �� iTJSDispatch2 �C���^�[�t�F�[�X�������Ă��āA�l�C�e�B�u�N���X�Ƃ��ĐU�镑�����߂̊��{�I�ȓ��삪���������Ă��܂��B<br />
|
||||
�@TJS �����A�N�Z�X�\�ȃ��\�b�h���v���p�e�B�́A�l�C�e�B�u�N���X�̃R���X�g���N�^���ɋL�q���܂��B<br />
|
||||
<br />
|
||||
|
||||
<br />
|
||||
<code class="bq"><span class="weak">��:</span><br /><span class="linenumber"> 1|</span>class NC_Test : public tTJSNativeClass <span class="comment">// �l�C�e�B�u�N���X</span><br />
|
||||
<span class="linenumber"> 2|</span>{<br />
|
||||
<span class="linenumber"> 3|</span>public:<br />
|
||||
<span class="linenumber"> 4|</span> NC_Test(); <span class="comment">// �R���X�g���N�^; ���ɋL�q</span><br />
|
||||
<span class="linenumber"> 5|</span><br />
|
||||
<span class="linenumber"> 6|</span> static tjs_uint32 ClassID; <span class="comment">// �N���XID</span><br />
|
||||
<span class="linenumber"> 7|</span><br />
|
||||
<span class="linenumber"> 8|</span>private:<br />
|
||||
<span class="linenumber"> 9|</span> tTJSNativeInstance *CreateNativeInstance()<br />
|
||||
<span class="linenumber"> 10|</span> {<br />
|
||||
<span class="linenumber"> 11|</span> return new NI_Test(); <span class="comment">// �l�C�e�B�u�C���X�^���X���쐬���ĕԂ�</span><br />
|
||||
<span class="linenumber"> 12|</span> }<br />
|
||||
<span class="linenumber"> 13|</span>};<br />
|
||||
<span class="linenumber"> 14|</span>tjs_uint32 NC_Test::ClassID = (tjs_uint32)-1; <span class="comment">// �N���XID</span><br />
|
||||
</code>
|
||||
<br />
|
||||
|
||||
<br />
|
||||
<dl>
|
||||
<dt>4�s��</dt>
|
||||
<dd>�@���̃N���X�̃R���X�g���N�^�ł��B�����͌��q���܂��B</dd>
|
||||
|
||||
|
||||
<dt>6�s��</dt>
|
||||
<dd>�@���̃N���X�̃N���X ID ���ێ����邽�߂̕ϐ��ł��B14�s�ڂɎ��̂������܂��B</dd>
|
||||
|
||||
|
||||
<dt>9�`12�s��</dt>
|
||||
<dd>�@CreateNativeInstance ���\�b�h�́A�l�C�e�B�u�C���X�^���X���쐬���ׂ��^�C�~���O�ŌĂ��郁�\�b�h�ł��B�����ł� NI_Test �N���X�̃I�u�W�F�N�g���쐬���ĕԂ��Ă��܂��B</dd></dl><br />
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<br />
|
||||
<code class="bq"><span class="weak">��:</span><br /><span class="linenumber"> 1|</span>NC_Test::NC_Test() : tTJSNativeClass(TJS_W("Test"))<br />
|
||||
<span class="linenumber"> 2|</span>{<br />
|
||||
<span class="linenumber"> 3|</span> TJS_BEGIN_NATIVE_MEMBERS(<span class="comment">/*TJS class name*/</span>Test)<br />
|
||||
<span class="linenumber"> 4|</span><br />
|
||||
<span class="linenumber"> 5|</span> TJS_DECL_EMPTY_FINALIZE_METHOD<br />
|
||||
<span class="linenumber"> 6|</span><br />
|
||||
<span class="linenumber"> 7|</span> TJS_BEGIN_NATIVE_CONSTRUCTOR_DECL(<br />
|
||||
<span class="linenumber"> 8|</span> <span class="comment">/*var.name*/</span>_this,<br />
|
||||
<span class="linenumber"> 9|</span> <span class="comment">/*var.type*/</span>NI_Test,<br />
|
||||
<span class="linenumber"> 10|</span> <span class="comment">/*TJS class name*/</span>Test)<br />
|
||||
<span class="linenumber"> 11|</span> {<br />
|
||||
<span class="linenumber"> 12|</span> <span class="comment">// NI_Test::Construct �ɂ����e���L�q�ł����̂�</span><br />
|
||||
<span class="linenumber"> 13|</span> <span class="comment">// �����ł͉������Ȃ�</span><br />
|
||||
<span class="linenumber"> 14|</span> return TJS_S_OK;<br />
|
||||
<span class="linenumber"> 15|</span> }<br />
|
||||
<span class="linenumber"> 16|</span> TJS_END_NATIVE_CONSTRUCTOR_DECL(<span class="comment">/*TJS class name*/</span>Test)<br />
|
||||
<span class="linenumber"> 17|</span><br />
|
||||
<span class="linenumber"> 18|</span> TJS_BEGIN_NATIVE_METHOD_DECL(<span class="comment">/*func. name*/</span>print) <span class="comment">// print ���\�b�h</span><br />
|
||||
<span class="linenumber"> 19|</span> {<br />
|
||||
<span class="linenumber"> 20|</span> TJS_GET_NATIVE_INSTANCE(<span class="comment">/*var. name*/</span>_this,<br />
|
||||
<span class="linenumber"> 21|</span> <span class="comment">/*var. type*/</span>NI_Test);<br />
|
||||
<span class="linenumber"> 22|</span><br />
|
||||
<span class="linenumber"> 23|</span> _this->Print();<br />
|
||||
<span class="linenumber"> 24|</span><br />
|
||||
<span class="linenumber"> 25|</span> return TJS_S_OK;<br />
|
||||
<span class="linenumber"> 26|</span> }<br />
|
||||
<span class="linenumber"> 27|</span> TJS_END_NATIVE_METHOD_DECL(<span class="comment">/*func. name*/</span>print)<br />
|
||||
<span class="linenumber"> 28|</span><br />
|
||||
<span class="linenumber"> 29|</span> TJS_BEGIN_NATIVE_METHOD_DECL(<span class="comment">/*func. name*/</span>add) <span class="comment">// add ���\�b�h</span><br />
|
||||
<span class="linenumber"> 30|</span> {<br />
|
||||
<span class="linenumber"> 31|</span> TJS_GET_NATIVE_INSTANCE(<span class="comment">/*var. name*/</span>_this,<br />
|
||||
<span class="linenumber"> 32|</span> <span class="comment">/*var. type*/</span>NI_Test);<br />
|
||||
<span class="linenumber"> 33|</span><br />
|
||||
<span class="linenumber"> 34|</span> if(numparams < 1) return TJS_E_BADPARAMCOUNT;<br />
|
||||
<span class="linenumber"> 35|</span><br />
|
||||
<span class="linenumber"> 36|</span> _this->Add((tjs_int)*param[0]);<br />
|
||||
<span class="linenumber"> 37|</span><br />
|
||||
<span class="linenumber"> 38|</span> return TJS_S_OK;<br />
|
||||
<span class="linenumber"> 39|</span> }<br />
|
||||
<span class="linenumber"> 40|</span> TJS_END_NATIVE_METHOD_DECL(<span class="comment">/*func. name*/</span>add)<br />
|
||||
<span class="linenumber"> 41|</span><br />
|
||||
<span class="linenumber"> 42|</span> TJS_BEGIN_NATIVE_PROP_DECL(value) <span class="comment">// value �v���p�e�B</span><br />
|
||||
<span class="linenumber"> 43|</span> {<br />
|
||||
<span class="linenumber"> 44|</span> TJS_BEGIN_NATIVE_PROP_GETTER<br />
|
||||
<span class="linenumber"> 45|</span> {<br />
|
||||
<span class="linenumber"> 46|</span> TJS_GET_NATIVE_INSTANCE(<span class="comment">/*var. name*/</span>_this,<br />
|
||||
<span class="linenumber"> 47|</span> <span class="comment">/*var. type*/</span>NI_Test);<br />
|
||||
<span class="linenumber"> 48|</span> *result = _this->GetValue();<br />
|
||||
<span class="linenumber"> 49|</span> return TJS_S_OK;<br />
|
||||
<span class="linenumber"> 50|</span> }<br />
|
||||
<span class="linenumber"> 51|</span> TJS_END_NATIVE_PROP_GETTER<br />
|
||||
<span class="linenumber"> 52|</span><br />
|
||||
<span class="linenumber"> 53|</span> TJS_BEGIN_NATIVE_PROP_SETTER<br />
|
||||
<span class="linenumber"> 54|</span> {<br />
|
||||
<span class="linenumber"> 55|</span> TJS_GET_NATIVE_INSTANCE(<span class="comment">/*var. name*/</span>_this,<br />
|
||||
<span class="linenumber"> 56|</span> <span class="comment">/*var. type*/</span>NI_Test);<br />
|
||||
<span class="linenumber"> 57|</span> _this->SetValue((tjs_int)*param);<br />
|
||||
<span class="linenumber"> 58|</span> return TJS_S_OK;<br />
|
||||
<span class="linenumber"> 59|</span> }<br />
|
||||
<span class="linenumber"> 60|</span> TJS_END_NATIVE_PROP_SETTER<br />
|
||||
<span class="linenumber"> 61|</span> }<br />
|
||||
<span class="linenumber"> 62|</span> TJS_END_NATIVE_PROP_DECL(value)<br />
|
||||
<span class="linenumber"> 63|</span><br />
|
||||
<span class="linenumber"> 64|</span> TJS_BEGIN_NATIVE_PROP_DECL(square) <span class="comment">// square �ǂݏo�����p�v���p�e�B</span><br />
|
||||
<span class="linenumber"> 65|</span> {<br />
|
||||
<span class="linenumber"> 66|</span> TJS_BEGIN_NATIVE_PROP_GETTER<br />
|
||||
<span class="linenumber"> 67|</span> {<br />
|
||||
<span class="linenumber"> 68|</span> TJS_GET_NATIVE_INSTANCE(<span class="comment">/*var. name*/</span>_this,<br />
|
||||
<span class="linenumber"> 69|</span> <span class="comment">/*var. type*/</span>NI_Test);<br />
|
||||
<span class="linenumber"> 70|</span><br />
|
||||
<span class="linenumber"> 71|</span> *result = _this->GetSquare();<br />
|
||||
<span class="linenumber"> 72|</span><br />
|
||||
<span class="linenumber"> 73|</span> return TJS_S_OK;<br />
|
||||
<span class="linenumber"> 74|</span> }<br />
|
||||
<span class="linenumber"> 75|</span> TJS_END_NATIVE_PROP_GETTER<br />
|
||||
<span class="linenumber"> 76|</span><br />
|
||||
<span class="linenumber"> 77|</span> TJS_DENY_NATIVE_PROP_SETTER<br />
|
||||
<span class="linenumber"> 78|</span> }<br />
|
||||
<span class="linenumber"> 79|</span> TJS_END_NATIVE_PROP_DECL(square)<br />
|
||||
<span class="linenumber"> 80|</span><br />
|
||||
<span class="linenumber"> 81|</span> TJS_END_NATIVE_MEMBERS<br />
|
||||
<span class="linenumber"> 82|</span>}<br />
|
||||
</code>
|
||||
<br />
|
||||
|
||||
<br />
|
||||
<dl>
|
||||
<dt>1�s��</dt>
|
||||
<dd>�@NC_Test �̃R���X�g���N�^�ł��B�e�N���X�ł��� tTJSNativeClass �̃R���X�g���N�^�ɂ� TJS2 ���Ŏg�p�����N���X�����w�肵�܂��B</dd>
|
||||
|
||||
|
||||
<dt>3�s��</dt>
|
||||
<dd>�@TJS_BEGIN_NATIVE_MEMBERS �}�N���ł��B�����ɂ� TJS2 ���Ŏg�p�����N���X�����w�肵�܂��B<br />
|
||||
�@���̃}�N���� TJS_END_NATIVE_MEMBERS �}�N���ŋ��܂ꂽ�ꏊ�ɁA�N���X�̃����o�ƂȂ��ׂ����\�b�h���v���p�e�B�̋L�q�����܂��B</dd>
|
||||
|
||||
|
||||
<dt>4�s��</dt>
|
||||
<dd>�@���� finalize ���\�b�h���錾���Ă��܂��Bfinalize �ɑ������鏈���� tTJSNativeInstance::Invalidate ���I�[�o�[���C�h���邱�Ƃł������ł��܂��̂ŁA�ʏ��͋��̃��\�b�h�ŏ\���ł��B
|
||||
</dd>
|
||||
|
||||
|
||||
<dt>7�`16�s��</dt>
|
||||
<dd>�@(TJS��) �R���X�g���N�^���錾���Ă��܂��BTJS �ŃN���X�������Ƃ��A�N���X���ŃN���X�Ɠ����̃��\�b�h���錾���Ă��镔���ɑ������܂��B<br />
|
||||
<br />
|
||||
�@TJS_BEGIN_NATIVE_CONSTRUCTOR_DECL �}�N���̂P�Ԗڂ̈����̓l�C�e�B�u�C���X�^���X�Ɋ��蓖�Ă��ϐ����ŁA�Q���ʖڂ̈����͂��̕ϐ��̌^���ł��B���̗��ł̂��̃u���b�N���ł� NI_Test * _this �Ƃ����ϐ������p�\�ŁA�l�C�e�B�u�C���X�^���X�ɃA�N�Z�X���邱�Ƃ��ł��܂��B<br />
|
||||
�@�}�N���̂R�Ԗڂ̈����́ATJS ���Ŏg�p�����N���X�����w�肵�܂��BTJS_END_NATIVE_CONSTRUCTOR_DECL �}�N���̈��������l�ł��B<br />
|
||||
�@�������A�R���X�g���N�^�ɑ������鏈���� tTJSNativeInstance::Construct ���I�[�o�[���C�h���鎖�Ŏ����ł����̂ŁA�����ł͉��������� S_OK ���Ԃ��܂��B
|
||||
</dd>
|
||||
|
||||
|
||||
<dt>18�`27�s��</dt>
|
||||
<dd>�@print ���\�b�h���錾���Ă��܂��B���\�b�h���� TJS_BEGIN_NATIVE_METHOD_DECL �� TJS_END_NATIVE_METHOD_DECL �̗��}�N���ɓ������̂��w�肷���K�v�������܂��B<br />
|
||||
�@���̃}�N�����Ŏg�p�\�ȕϐ��� tjs_int numparams �� tTJSVariant **param �������āA���ꂼ���A�n���ꂽ�����̐��ƈ����������Ă��܂��B���̃��\�b�h�ł͂������͎g�p���Ă��܂����B<br />
|
||||
�@20�`21�s�ڂ́A�I�u�W�F�N�g�����l�C�e�B�u�C���X�^���X�������o�����߂̃}�N���ł��B���̗��ł� _this �Ƃ��� NI_Test * �^�̕ϐ��Ƀl�C�e�B�u�C���X�^���X�������o���A�Ƃ����Ӗ��ɂȂ��܂��B�ȍ~�A_this �Ƃ����ϐ��Ńl�C�e�B�u�C���X�^���X�ɃA�N�Z�X�ł��܂��B23�s�ڂŁA���̃l�C�e�B�u�C���X�^���X�� Print ���\�b�h���Ăяo���Ă��܂��B</dd>
|
||||
|
||||
|
||||
<dt>29�`40�s��</dt>
|
||||
<dd>�@add ���\�b�h���錾���Ă��܂��B�����ł� numparams �� param ���g�p���Ă��܂��B</dd>
|
||||
|
||||
|
||||
|
||||
<dt>42�`62�s��</dt>
|
||||
<dd>�@value �v���p�e�B���錾���Ă��܂��BTJS_BEGIN_NATIVE_PROP_DECL �� TJS_END_NATIVE_PROP_DECL �̗��}�N���ɂ́A���\�b�h�̐錾�Ɠ������A�v���p�e�B�����w�肵�܂��B<br />
|
||||
<br />
|
||||
�@TJS_BEGIN_NATIVE_PROP_GETTER �� TJS_END_NATIVE_PROP_GETTER �}�N���ň͂܂ꂽ�ꏊ�ɂ́A�Q�b�^�[���L�q���邱�Ƃ��ł��܂��B�Q�b�^�[���ł� tTJSVariant �^�ł��� *result �ɒl���ݒ肷���悤�ɋL�q���܂��B<br />
|
||||
�@���l�ɁATJS_BEGIN_NATIVE_PROP_SETTER �� TJS_END_NATIVE_PROP_SETTER �}�N���ň͂܂ꂽ�ꏊ�ɂ̓Z�b�^�[���L�q���邱�Ƃ��ł��܂��B�Z�b�^�[���ł� tTJSVariant �^�ł��� *param �ɐݒ肳�����ׂ��l���i�[�����Ă����̂ŁA�������g���ď��������܂��B</dd>
|
||||
|
||||
|
||||
<dt>64�`79�s��</dt>
|
||||
<dd>�@�����ł͓ǂݏo�����p�v���p�e�B���錾���Ă��܂��B�Z�b�^�[�̑������� TJS_DENY_NATIVE_PROP_SETTER ���������Ƃɂ����A�ǂݏo�����p�v���p�e�B�����邱�Ƃ��ł��܂��B</dd></dl><br />
|
||||
<br />
|
||||
<br />
|
||||
�@�l�C�e�B�u�N���X�̓o�^�́A�l�C�e�B�u���̓o�^�Ɠ����ł��B�ȉ��Ƀe�X�g�R�[�h���Ꭶ���܂��B<br />
|
||||
<br />
|
||||
|
||||
<br />
|
||||
<code class="bq"><span class="weak">��:</span><br /><span class="linenumber"> 1|</span> iTJSDispatch2 * global = tjsengine->GetGlobalNoAddRef();<br />
|
||||
<span class="linenumber"> 2|</span> <span class="comment">// �O���[�o���I�u�W�F�N�g���擾</span><br />
|
||||
<span class="linenumber"> 3|</span><br />
|
||||
<span class="linenumber"> 4|</span> iTJSDispatch2 *cls = new NC_Test(); <span class="comment">// NC_Test �̃I�u�W�F�N�g���쐬</span><br />
|
||||
<span class="linenumber"> 5|</span> tTJSVariant cls_var(cls); <span class="comment">// tTJSVariant �^ cls_var �ɃI�u�W�F�N�g���ݒ�</span><br />
|
||||
<span class="linenumber"> 6|</span> cls->Release(); <span class="comment">// cls �� Release</span><br />
|
||||
<span class="linenumber"> 7|</span><br />
|
||||
<span class="linenumber"> 8|</span> TJS_THROW_IF_ERROR(<br />
|
||||
<span class="linenumber"> 9|</span> global->PropSet(TJS_MEMBERENSURE, TJS_W("Test"), NULL, &cls_var, NULL));<br />
|
||||
<span class="linenumber"> 10|</span> <span class="comment">// �o�^</span><br />
|
||||
<span class="linenumber"> 11|</span><br />
|
||||
<span class="linenumber"> 12|</span> tjsengine->ExecScript(TJS_W(<br />
|
||||
<span class="linenumber"> 13|</span> "var test = new Test();\n"<br />
|
||||
<span class="linenumber"> 14|</span> "test.value = 5;\n"<br />
|
||||
<span class="linenumber"> 15|</span> "var test2 = new Test(test.square);\n"<br />
|
||||
<span class="linenumber"> 16|</span> "test2.add(3);\n"<br />
|
||||
<span class="linenumber"> 17|</span> "test2.print();\n\0"),<br />
|
||||
<span class="linenumber"> 18|</span> NULL, NULL, NULL); <span class="comment">// �X�N���v�g�����s</span><br />
|
||||
</code>
|
||||
<br />
|
||||
|
||||
<br />
|
||||
</div></div>
|
||||
<script type="text/javascript" charset="Shift_JIS" src="documentid.js" ></script>
|
||||
<script type="text/javascript" charset="Shift_JIS" src="postcontent.js" ></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user