現在地: Visual LANSA 開発者ガイド > 2. グラフィカル・ユーザーインターフェース・アプリケーションの作成 > 2.28 リポジトリのリソース > .NETコンポーネントのサンプル・コード
.NETコンポーネントのサンプル・コード

このサンプルでは、標準の.NETアセンブリSystem.Windows.Forms.dllを使用します。このアセンブリは通常、以下の場所にあります。

32 ビット・システム:C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0

64 ビット・システム:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0 

#DNETDEMOという名前の.NETコンポーネントの作成

作成される.NETコンポーネントのソースは以下のようになります(32ビット・マシンの場合)。

 

Function Options(*DIRECT)
Begin_Com Role(*EXTENDS #PRIM_OBJT) Componentassembly('C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Windows.Forms.dll')
End_Com
 

以下のコードでフォームを作成

Function Options(*DIRECT)

Begin_Com Role(*EXTENDS #PRIM_FORM) Clientheight(690) Clientwidth(1030) Height(728) Left(723) Top(181) Width(1046)

Define_Com Class(#DNETDEMO.System.Windows.Forms.WebBrowser) Name(#Browser) Displayposition(8) Height(617) Left(16) Parent(#COM_OWNER) Tabposition(8) Top(40) Width(1001)

Define_Com Class(#PRIM_STBR) Name(#STBR_1) Displayposition(1) Height(24) Left(0) Messageposition(1) Parent(#COM_OWNER) Tabposition(1) Tabstop(False) Top(666) Width(1030)

Define_Com Class(#STD_QSEL.Visual) Name(#WebAddr) Caption('Address') Displayposition(2) Height(19) Labeltype(Caption) Left(96) Marginleft(60) Parent(#COM_OWNER) Tabposition(2) Top(16) Usepicklist(False) Width(801)

Define_Com Class(#PRIM_PHBN) Name(#PHBN_Go) Buttondefault(True) Caption('Go') Displayposition(3) Left(904) Parent(#COM_OWNER) Tabposition(3) Top(13) Width(27)

Define_Com Class(#PRIM_PHBN) Name(#PHBN_Back) Displayposition(4) Image(#VB_ARROWL) Left(22) Parent(#COM_OWNER) Tabposition(4) Top(13) Width(27)

Define_Com Class(#PRIM_PHBN) Name(#PHBN_Forward) Displayposition(5) Image(#VB_ARROWR) Left(56) Parent(#COM_OWNER) Tabposition(5) Top(13) Width(27)

Define_Com Class(#PRIM_PHBN) Name(#PHBN_Stop) Displayposition(6) Image(#VB_STOP) Left(936) Parent(#COM_OWNER) Tabposition(6) Top(13) Width(27)

Define_Com Class(#PRIM_PHBN) Name(#PHBN_Print) Displayposition(7) Image(#VB_PRINT) Left(984) Parent(#COM_OWNER) Tabposition(7) Top(13) Width(27)

Evtroutine Handling(#com_owner.Initialize)

Set Com(#com_owner) Caption(*component_desc)

#Browser.ScriptErrorsSuppressed := True

#COM_OWNER.ShowWebpage( 'http://www.lansa.com' )

Endroutine

Evtroutine Handling(#Browser.Navigated) Sender(#Sender) E(#EventArgs)

#WebAddr := #Browser.Url.ToString()

Endroutine

Evtroutine Handling(#PHBN_Go.Click)

If (#WebAddr.Substring( 1, 7 ).LowerCase() <> 'http://')

#WebAddr := 'http://' + #WebAddr

Endif

#COM_OWNER.ShowWebpage( #WebAddr )

Endroutine

Evtroutine Handling(#PHBN_Back.Click)

#Browser.GoBack

Endroutine

Evtroutine Handling(#PHBN_Forward.Click)

#Browser.GoForward

Endroutine

Evtroutine Handling(#PHBN_Stop.Click)

#Browser.Stop

Endroutine

Evtroutine Handling(#PHBN_Print.Click)

#Browser.ShowPrintDialog

Endroutine

Mthroutine Name(ShowWebpage)

Define_Map For(*INPUT) Class(#STD_QSEL) Name(#WebPageAddress)

Define_Com Class(#DNETDEMO.System.Uri) Name(#Uri) Reference(*DYNAMIC)

#Uri <= *New #DNETDEMO.System.Uri.Uri#1( #WebPageAddress )

#Browser.Url <= #Uri

Endroutine

End_Com