ソースプログラムを隠蔽化することは可能ですか?


ルーチンの場合は、コンパイル後に生成される *.obj のみをエクスポート/インポートすることで、ソースの隠蔽化を実現できます。

コマンド実行例は以下の通りです。
 

USER>do $System.OBJ.Export("license.obj,hold.obj","c:\temp\routine.xml") :
USER>zn "TEST"
TEST>do $System.OBJ.Load("c:\temp\routine.xml") :

 


クラスの場合は、XMLで *.cls をエクスポート/インポートしたあとに、サーバでMakeClassDeployed() を実行します。
ただし、比較的新しいバージョンでは MakeClassDeployed() 実行後、ソースファイル(*.cls) は配置モードに設定されるのみで(編集はできなくなります)、参照のみ可能となる仕様になっております。

参照も不可にしたい場合は、MakeClassDeployed() 実行後、クラスのHiddenプロパティを設定できますので、そちらでご対応下さい。(スタジオのインスペクタで Hidden=True に設定)

コマンド実行例は以下の通りです。
 

SAMPLES>do $system.OBJ.Export("Sample.Person.cls,Sample.Address.cls","c:\temp\Sample.Person.XML")

SAMPLES>zn "TEST"

TEST>do $system.OBJ.Load("c:\temp\Sample.Person.XML","ck")

TEST>do $system.OBJ.MakeClassDeployed("Sample.Person")

 

 
CSPファイルについては、*.cspをコピーし、配置先の CSP フォルダに貼付ます。

サーバでコンパイル後、CSPの設定で自動コンパイルOFFにしたあと、*.csp の削除と MakeClassDeployed() の実行を行います。

例:

TEST>do $SYSTEM.CSP.LoadPageDir("/csp/test")

 

【Caché2013.1以降】
[管理ポータル] > [システム管理] > [セキュリティ] > [アプリケーション] > [ウェブ・アプリケーション] > 該当するアプリケーション名のリンク

【Caché201.1~Caché2012.2】
[管理ポータル] > [システム管理] > [セキュリティ] > [アプリケーション] > [ウェブ・アプリケーション] > 該当するアプリケーション名の[編集]

【Caché2010.2以前】
[システム管理ポータル] > [システム] > [セキュリティ管理] > [CSPアプリケーション] > 該当するアプリケーション名の[編集]
 

TEST>do $system.OBJ.MakeClassDeployed("csp.cspsample")


※cspsample.csp をコピーした場合


関連トピック:
添付ファイル:

アンケートにご協力をお願いします
このトピックは参考になりましたか?
このトピックに関するお問い合わせ

FAQトップに戻る