JP3801822B2 - Visual programming system - Google Patents

Visual programming system Download PDF

Info

Publication number
JP3801822B2
JP3801822B2 JP32422899A JP32422899A JP3801822B2 JP 3801822 B2 JP3801822 B2 JP 3801822B2 JP 32422899 A JP32422899 A JP 32422899A JP 32422899 A JP32422899 A JP 32422899A JP 3801822 B2 JP3801822 B2 JP 3801822B2
Authority
JP
Japan
Prior art keywords
data
dll
property
control unit
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP32422899A
Other languages
Japanese (ja)
Other versions
JP2000112739A (en
Inventor
道元 酒井
Original Assignee
アイ・ティー・エックス翼ネット株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アイ・ティー・エックス翼ネット株式会社 filed Critical アイ・ティー・エックス翼ネット株式会社
Priority to JP32422899A priority Critical patent/JP3801822B2/en
Publication of JP2000112739A publication Critical patent/JP2000112739A/en
Application granted granted Critical
Publication of JP3801822B2 publication Critical patent/JP3801822B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータシステム及びビジュアルプログラミングシステム及びプログラムを記録した媒体に関するものである。
【0002】
【従来の技術】
従来、種々のアプリケーションプログラムに共通する処理をサブルーチンとして作成することが行われている。このようなサブルーチンを作成し用意しておけば、各アプリケーションプログラムからこれらのサブルーチンを呼び出して実行するだけで所望の処理を実現することができるため、プログラム開発の重複労力を軽減することができる。このような重複労力軽減を徹底するためには、単一機能ごとにサブルーチンを作成することが望ましい。
【0003】
更に、アプリケーションプログラム実行時における使用メモリ領域節約の観点から、上述のようなサブルーチンをダイナミックリンクライブラリ(以下「DLL」という。)とすることも行われている。
【0004】
また、プログラム実行時画面の容易な作成,熟練度の低いプログラマに対する容易なプログラム作成を可能とするために、ビジュアルプログラミング環境と呼ばれるものが開発されている。このビジュアルプログラミング環境の例としてマイクロソフト社製「Visual Basic(商標)」,ボーランド社製「Delphi(商標)」等がある。これらのビジュアルプログラミング環境におけるプログラム作成は、プログラム作成フォーム上に適宜コンポーネントを配置し、これらのコンポーネントのプロパティにデータを入力するとともに、イベントプロシージャ又はイベントハンドラ等にソースプログラムを入力することにより、行われる。
【0005】
このようなビジュアルプログラミング環境は、データベースの検索・更新等を行うプログラムの作成にも広く利用されている。
【0006】
【発明が解決しようとする課題】
しかし、従来のビジュアルプログラミング環境においてはアプリケーションプログラム作成が容易ではあるが、それでもなおソースプログラムの入力をしなければならなかった。この点を改善するために、上述のように共通処理をサブルーチン化して、イベントプロシージャ等からこれらのサブルーチンを呼び出すようにすることが考えられる。しかし、そのようにしても、サブルーチンを呼び出すためのソースプログラムを入力しなければならないことに変わりはない。
【0007】
本発明の第1の課題は、このような従来技術の問題点に鑑み、プログラマがソースプログラムの入力をしなくてもアプリケーションプログラムを作成できるビジュアルプログラミングシステムを提供することである。
【0008】
また、データベースの検索・更新等を行うプログラムを作成するためには、プログラマがデータベースの構造やアクセス方法を熟知していなければならなかった。
【0009】
本発明の第2の課題は、このような従来技術の問題点に鑑み、プログラマがデータベースの構造やアクセス方法を理解していなくても、データベースの検索・更新等を行うプログラムを作成することができるビジュアルプログラミングシステムを提供することである。
【0010】
【課題を解決するための手段】
本発明は前記課題を解決するために、以下の手段を採用した。すなわち、本発明は、表示装置に表示するデータを保持する表示メモリと、前記表示メモリに保持されているデータを前記表示装置に表示させる表示コントローラと、指示入力手段が接続されるインターフェースと、メモリと、外部記憶装置と、制御部とを有し、前記表示装置の表示画面にプログラム作成フォームを表示して、前記プログラム作成フォーム上に配置されたコンポーネントに設定されたデータによって指定されるDLLを前記制御部に実行させる、そのようなプログラムを作成するビジュアルプログラミングシステムにおいて、前記制御部が、
前記指示入力手段からの指示入力に応答して、前記プログラム作成フォームを前記外部記憶装置から読み込んで前記表示メモリおよび表示コントローラを通じて前記表示装置に表示させる手段と、データを設定するためのプロパティと前記プロパティにデータが入力されたときに呼び出されるDLL(ダイナミックリンクライブラリ)を設定するためのプロパティと前記データの属性を設定するためのプロパティとを含む、数値データ編集コンポーネントまたは文字データ編集コンポーネントを、前記指示入力手段からの指示入力に応答して、前記外部記憶装置から読み込んで前記表示メモリおよび表示コントローラを通じて前記表示装置の画面上の前記指示入力手段で指示された位置に表示させる手段と、
前記外部記憶装置上のデータベースからそのデータベースに含まれる各項目の少なくとも項目記号、項目名、およびデータ属性を読み込んで前記表示メモリおよび表示コントローラを通じて前記プログラム作成フォームの近傍に、前記少なくとも項目記号、項目名、およびデータ属性を示す画像を表示させる手段と、前記少なくとも項目記号、項目名、およびデータ属性を示す画像が指示入力手段を通じて指示入力されたときに前記少なくとも項目記号、項目名、およびデータ属性に該当するデータを前記メモリに保存する手段と、
前記指示入力手段からの指示入力に応答して、指示入力された前記いずれかのコンポーネントの前記データの属性を設定するためのプロパティに対して、前記保存された少なくとも項目記号およびデータ属性に該当するデータを書き込む手段と、前記コンポーネントの種類と前記プロパティに書き込まれた前記少なくとも項目記号およびデータ属性に該当するデータとからメモリ領域定義ファイルを作成して前記外部記憶装置に書き込む手段と、前記指示入力手段からの指示入力に応答して、前記いずれかのコンポーネントのDLL(ダイナミックリンクライブラリ)を設定するためのプロパティに、前記データを設定するためのプロパティにデータが入力されたときに呼び出されるDLL(ダイナミックリンクライブラリ)を設定する手段と、前記コンポーネントの前記データを設定するためのプロパティにデータが入力されたときに、当該コンポーネントの前記DLL(ダイナミックリンクライブラリ)を設定するためのプロパティに設定されたDLL(ダイナミックリンクライブラリ)を前記制御部に実行させる、前記プログラムを生成する生成手段と、前記生成されたプログラムが実行されたときに前記DLL(ダイナミックリンクライブラリ)に対応するメモリ領域定義ファイルにしたがって前記少なくとも項目記号およびデータ属性を含む前記DLL(ダイナミックリンクライブラリ)に引き渡すデータの前記メモリ上の領域を確保する手段と、として機能するとともに、前記生成されたプログラムを実行することにより、コンポーネントの前記データを設定するためのプロパティにデータが入力された時に当該コンポーネントのDLL(ダイナミックリンクライブラリ)を設定するためのプロパティに設定されたDLL(ダイナミックリンクライブラリ)を、前記メモリ上の領域を引き渡して実行することを特徴とするビジュアルプログラミングシステムである。
【0011】
前記DLL(ダイナミックリンクライブラリ)を設定するためのプロパティには前記DLL(ダイナミックリンクライブラリ)のファイル名が設定されるようにしてもよい。
【0020】
【発明の実施の形態】
以下、本発明の実施の形態を図1から図23の図面に基いて説明する。
【0021】
【実施形態】
図1は本発明の実施の形態によるコンピュータシステム及びビジュアルプログラミングシステムの構成を示したブロック図である。図1において、このコンピュータシステム及びビジュアルプログラミングシステムは、マウス1と、キーボード2と、表示装置3と、外部記憶手段4と、制御装置12とから、構成されている。また、制御装置12は、バスBによって相互に接続されたマウスインタフェース5と、キーボードインタフェース6と、表示メモリ7と、表示装置コントローラ8と、外部記憶インタフェース9と、メモリ10と、制御部11とから、構成されている。
【0022】
マウス1及びキーボード2は、オペレータが文字等のデータを入力するための入力装置である。
表示装置3は、マウス1及びキーボード2から入力されたデータ等を表示するCRTである。尚、この表示装置3は、液晶ディスプレイであっても良い。
【0023】
外部記憶装置4は、制御部11が処理するプログラムや、データファイル等を記憶するハードディスクである。尚、この外部記憶装置4は光磁気ディスクであっても良い。この外部記憶装置4が、記憶手段及び媒体に相当する。
【0024】
制御装置12は、マウス1及びキーボード2から入力されたデータの処理、表示装置3に表示する画面データの処理、外部記憶装置4からのデータの読み込み処理、外部記憶装置4へのデータの書き込み処理を行う装置である。
【0025】
マウスインタフェース5は、マウス1から入力された指示入力のデータをバスBへ伝達する装置である。
キーボードインタフェース6は、キーボード2から入力された文字等のデータをバスBへ伝達する装置である。
【0026】
表示メモリ7は、表示装置3に表示する文字や画像等のデータを保持するためのメモリである。
表示装置コントローラ8は、表示メモリ7に保持されている文字や画像等のデータを表示装置3に表示させる処理を司る装置である。
【0027】
外部記憶インタフェース9は、外部記憶装置4からのデータの読み込みや、外部記憶装置4へのデータの書き込みの処理を司る装置である。
メモリ10は、RAM(Random Access Memory)等で構成され、制御部11が作業用に使用するメモリである。
【0028】
制御部11は、CPU(Central Processing Unit)等で構成され、表示装置コントローラ8、外部記憶インタフェース9に対して、それぞれ画面表示指示、外部記憶装置4へのデータ書き込み若しくは外部記憶装置4からのデータ読み込み指示を行う。また、制御部11は、マウスインタフェース5を介してマウス1からの入力データを、キーボードインタフェース6を介してキーボード2からの入力データを、夫々受け取る。この制御部11が、制御手段に相当する。
<実施の形態の動作の説明>
次に、本発明の実施の形態の動作について、社員データベースを検索するための社員データベース検索プログラムの作成及び実行を例にとって説明する。
【0029】
以下に説明する社員データベースは、社員番号,社員名の2つの項目からなるものである。また、社員番号という項目名に対応させた文字列である”NM2114”という項目記号と、社員名という項目名に対応させた文字列である”NM2040”という項目記号との、2つの項目記号のデータが付加されている。
【0030】
また、以下に作成しようとする社員データベース検索プログラムは、社員番号の数値データを入力することにより、その社員番号に対応する社員名を社員データベースのデータファイルから検索して、表示装置3に表示するためのプログラムである。
【0031】
尚、社員データベースの検索を補助する処理を行うためのDLLとして、入力データチェックDLL(このDLLのファイル名を”WCHECKDD.DLL”とする。),データファイル検索DLL(このDLLのファイル名を”WCHKNAME.DLL”とする。)が用意されている。
【0032】
入力データチェックDLLは、入力データと、当該入力データに対応する項目記号とを、引数として受け取る。入力データチェックDLLは、当該項目記号に基づいてデータ項目ファイルを参照する。その結果、入力データチェックDLLは、当該入力データ及び当該項目記号に基づいてデータファイルを検索する処理を実行するDLLのファイル名を得る。更に、入力データチェックDLLは、当該DLLを呼び出して実行する。
【0033】
データファイル検索DLLは、検索キーとなるデータと、当該データに対応する項目記号とを、引数として受け取る。データファイル検索DLLは、当該データと当該項目記号に基づいてデータファイルを検索する。
【0034】
尚、各DLLへ引き渡す引数の引数名と、当該引数を書き込むために必要なメモリ領域(以下「DLL引数メモリ領域」という。)とを定義するファイルとして、DLL引数定義ファイルが各DLL毎に用意されている。このDLL引数定義ファイルは、外部記憶装置4に記憶されている。上述した入力データチェックDLLのために、ファイル名が”WCHECKDD.DSL”というDLL引数定義ファイルが用意されている。同様に、上述したデータファイル検索DLLのために、ファイル名が”WCHKNAME.DSL”というDLL引数定義ファイルが用意されている。このように、DLLと当該DLLのためのDLL引数定義ファイルとは、同一の文字列の末尾に夫々”DLL”と”DSL”を付加した文字列をファイル名としている。従って、DLLファイル名から、当該DLLのためのDLL引数定義ファイル名を決定することができる。同様に、DLL引数定義ファイル名から、DLLファイル名を決定することができる。
【0035】
更に、プログラムからDLLを呼び出す際、或いはDLLからDLLを呼び出す際に引数を引き渡す処理を行うためのDLLとして、メモリ領域確保DLL(このDLLのファイル名を”DSL32.DLL”とする。)が用意されている。
【0036】
メモリ領域確保DLLは、引数としてメモリ領域定義ファイルのファイル名を受け取る。そして、当該メモリ領域定義ファイルを外部記憶装置4から読み込む。そして、当該ファイルの内容に対応するメモリ領域が既にメモリ10のヒープ領域上に存在するか否かをチェックする。そして、当該メモリ領域が存在しない場合には、当該ファイルの内容に基づいて、メモリ10のヒープ領域上にメモリ領域を確保する。
【0037】
次に、社員データベース検索プログラムの作成に際して用いるコンポーネントである、文字列表示コンポーネント,数値データ編集コンポーネント,文字列データ編集コンポーネント,メモリ領域制御コンポーネントについて、説明する。
【0038】
文字列表示コンポーネントは、文字列データを設定するための文字列データプロパティを備えている。そして、文字列データプロパティに設定された文字列データに対応する文字列を表示する。
【0039】
数値データ編集コンポーネントは、数値データを設定するための数値データプロパティと、当該数値データに対応する項目記号のデータを設定するための項目記号プロパティと、当該数値データプロパティに数値データが入力された際に呼び出され実行されるDLLのファイル名を設定するためのDLLファイル名プロパティと、当該DLLを実行するか否かを設定するためのDLL実行有効プロパティと、数値データのデータ型を設定するためのデータ型式プロパティと、数値データの桁数を設定するためのデータ桁数プロパティとを、備えている。
【0040】
数値データ編集コンポーネントを配置したプログラムの実行時において、キーボード2等から入力される数値データや、プログラムの処理を実行した結果得られた数値データは、数値データプロパティに設定される。また、キーボード2等から入力される項目記号データや、プログラムの処理を実行した結果得られた項目記号データは、項目記号データプロパティに設定される。そして、数値データ編集コンポーネントは、数値データプロパティに設定された数値データに対応する数値を表示する。また、数値データプロパティにデータが入力された時に、DLL実行有効プロパティの値が有効であれば、DLLファイル名プロパティに設定されたファイル名に相当するDLLが呼び出され実行される。
【0041】
文字列データ編集コンポーネントは、文字列データを設定するための文字列データプロパティと、当該文字列データに対応する項目記号のデータを設定するための項目記号プロパティと、当該文字列データプロパティに文字列データが入力された際に呼び出され実行されるDLLのファイル名を設定するためのDLLファイル名プロパティと、当該DLLを実行するか否かを設定するためのDLL実行有効プロパティと、文字列データのデータ型を設定するためのデータ型式プロパティと、文字列データのデータ桁数を設定するためのデータ桁数プロパティとを、備えている。
【0042】
文字列データ編集コンポーネントを配置したプログラムの実行時において、キーボード2等から入力される文字列データや、プログラムの処理を実行した結果得られた文字列データは、文字列データプロパティに設定される。また、キーボード2等から入力される項目記号データや、プログラムの処理を実行した結果得られた項目記号データは、項目記号データプロパティに設定される。そして、数値データ編集コンポーネントは、数値データプロパティに設定された文字列データに対応する文字列を表示する。また、文字列データプロパティにデータが入力された時に、DLL実行有効プロパティの値が有効であれば、DLLファイル名プロパティに設定されたファイル名に相当するDLLが呼び出され実行される。
【0043】
メモリ領域制御コンポーネントは、画面制御プロパティと、DLL引数定義ファイル名プロパティとを、備えている。画面制御プロパティは、”True”又は”False”という文字列を設定するためのプロパティである。DLL引数定義ファイル名プロパティは、上述したDLL引数定義ファイルのファイル名を設定するためのプロパティである。
【0044】
次に、メモリ領域制御コンポーネントの、プログラム作成時における動作について説明する。
プログラム作成時において画面制御プロパティの値が”True”に設定された場合、メモリ領域制御コンポーネントは、DLL引数定義ファイル名プロパティの値如何に拘らず、プログラム作成フォーム上に配置された各編集コンポーネントの各データプロパティへ設定するためのデータを書き込むためのメモリ領域(以下「画面データ用メモリ領域」という。)を定義するファイル(以下「画面データ用メモリ領域定義ファイル」という。)を生成する。各DLLは、各種処理の結果得られたデータを、画面データ用メモリ領域の中の当該データの項目記号によりインデックスされる場所に書き込む。すると、プログラムは、画面データ用メモリ領域に書き込まれたデータを当該コンポーネントの当該項目記号に該当するデータプロパティに設定する。その結果、プログラム実行時画面における当該コンポーネントには、当該データが表示されることとなる。尚、画面制御プロパティの値が”False”に設定された場合、メモリ領域制御コンポーネントは、画面データ用メモリ領域定義ファイルを生成しない。
【0045】
次に、メモリ領域制御コンポーネントが配置されたプログラムが実行された時の動作について説明する。
画面制御プロパティの値が”True”である場合、メモリ領域制御コンポーネントが配置されたプログラムは、DLL引数定義ファイル名プロパティの値如何に拘らず、上述のようにして生成した画面データ用メモリ領域定義ファイルの内容に従って、メモリ10のヒープ領域上に画面データ用メモリ領域を確保する。
【0046】
画面制御プロパティの値が”False”である場合、メモリ領域制御コンポーネントが配置されたプログラムは、DLL引数定義ファイル名プロパティに設定されたファイル名の内容に従って、DLL引数メモリ領域をメモリ10のヒープ領域上に確保する。
<社員データベース検索プログラムの作成>
次に、図2乃至図4のフローチャートによって、社員データベース検索プログラム作成のために制御部11において実行される制御処理プログラムを説明する。
【0047】
制御部11は、マウス1又はキーボード2からの指示入力によって、図2乃至図4の処理を開始する。
まず、制御部11は、プログラム作成フォームのデータを外部記憶装置4から読み込んで表示メモリ7に書き込む。それとともに、表示装置コントローラ8に対して、表示メモリ7の内容を表示装置3に表示するよう指示する(S001)。
【0048】
次に、制御部11は、プログラム作成フォームにコンポーネントを配置する指示入力がなされた旨を通知するデータがマウス1又はキーボード2から来たか否かをチェックする。もしコンポーネントを配置する指示がなされた旨を通知するデータが来ていたら処理をS003へ移し、そうでなければ処理をS004へ移す(S002)。
【0049】
S003において、制御部11は、マウス1又はキーボード2から通知された指示データに従い、配置するよう指示されたコンポーネントのデータを外部記憶装置4から読み込む。そして、制御部11は、表示装置3の表示画面におけるマウスカーソルの位置に当該コンポーネントの画像が表示されるように、当該コンポーネントの画像データを表示メモリ7に書き込み、処理をS002へ戻す。尚、このマウスカーソルは、表示装置3の画面上において、マウス1からの入力指示によって定まる任意の位置に表示されている。
【0050】
一方、S002においてコンポーネントを配置する指示入力がなされた旨を通知するデータが来ていなかった場合、制御部11は、コンポーネントの配置を終了する指示入力がなされた旨を通知するデータがマウス1又はキーボード2から来たか否かをチェックする。もしコンポーネントの配置を終了する指示入力がなされた旨を通知するデータが来たら、制御部11は、処理をS005へ移し、そうでなければ処理をS002へ戻す。
【0051】
コンポーネントの配置を終了する指示入力がなされた旨を通知するデータを受け取ると、制御部11は、データ項目ファイルを外部記憶装置4から読み込む。そして、制御部11は、データベースに含まれる各項目の項目記号,項目名,データ型式,データ桁数を示す画像を、プログラム作成フォームの画像の近傍に表示する(S005)。
【0052】
次に、制御部11は、プログラム作成フォームに配置された各コンポーネントのプロパティ等の設定を終了する指示入力がなされた旨を通知するデータがマウス1又はキーボード2から来たか否かをチェックする。そして、制御部11は、もしそのようなデータが来たら、処理をS018へ移し、そうでなければ処理をS007へ移す(S006)。
【0053】
S007において、制御部11は、マウスボタンが押し下げられた旨を通知するデータがマウス1から来たか否かをチェックする。そして、制御部11は、もしマウスボタンが押し下げられた旨を通知するデータが来たら処理をS008へ移し、そうでなければ処理をS006へ戻す。
【0054】
マウスボタンが押し下げられた旨を通知するデータがマウス1から来たら、制御部11は、表示装置3の表示画面上においてマウスカーソルがデータ項目ファイルの内容を表示した画像上にあるか否かをチェックし、もし当該画像上にあれば処理をS009へ移し、そうでなければ処理をS006へ戻す(S008)。
【0055】
S009において、制御部11は、データ項目ファイル中のデータのうち、表示装置3の表示画面上においてマウスカーソルがある行の項目記号,項目名,データ型式,データ桁数に対応するデータをメモリ10に書き込む。
【0056】
そして、制御部11は、マウス1のマウスボタンが解放されるのを待つ(S010)。
マウス1のマウスボタンが解放されたら、制御部11は、マウスカーソルがプログラム作成フォーム上に配置された何れかのコンポーネントの画像上にあるか否かを、チェックする。そして、制御部11は、もしマウスカーソルが何れかのコンポーネントの画像上にあれば処理をS012へ移し、そうでなければ処理をS006へ戻す(S011)。
【0057】
S012において、制御部11は、当該コンポーネントが文字列表示コンポーネントであるか否かをチェックし、当該コンポーネントが文字列表示コンポーネントであれば処理をS013へ移し、そうでなければ処理をS014へ移す。
【0058】
マウスカーソルがあるコンポーネントが文字列表示コンポーネントであった場合、制御部11は、S009においてメモリ10に書き込まれたデータのうち項目名に該当する文字列データを読み込む。そして、その文字列データを当該文字列表示コンポーネントの文字列プロパティに書き込んで、処理をS006へ戻す(S013)。
【0059】
一方、マウスカーソルがあるコンポーネントが文字列表示コンポーネントでなかった場合、制御部11は、当該コンポーネントが数値データ編集コンポーネントであるか否かをチェックする。そして、当該コンポーネントが数値データ編集コンポーネントであれば処理をS015へ移し、そうでなければ処理をS016へ移す(S014)。
【0060】
S015において、制御部11は、S009においてメモリ10に書き込まれたデータのうちデータ型式,データ桁数,項目記号に該当するデータを読み込む。そして、制御部11は、これらのデータを当該コンポーネントのデータ型式プロパティ,データ桁数プロパティ,項目記号プロパティに夫々書き込み、処理をS006へ戻す。
【0061】
一方、マウスカーソルがあるコンポーネントが数値データ編集コンポーネントでなかった場合、制御部11は、当該コンポーネントが文字列データ編集コンポーネントであるか否かをチェックする。そして、当該コンポーネントが文字列データ編集コンポーネントであれば処理をS017へ移し、そうでなければ処理をS006へ戻す(S016)。
【0062】
S017において、制御部11は、S009においてメモリ10に書き込まれたデータのうちデータ型式,データ桁数,項目記号に該当するデータを読み込む。そして、制御部11は、これらのデータを当該コンポーネントのデータ型式プロパティ,データ桁数プロパティ,項目記号プロパティに夫々書き込み、処理をS006へ戻す。
【0063】
一方、S006において各コンポーネントのプロパティ等の設定を終了する旨の通知がマウス1又はキーボード2から来ていた場合、制御部11は、プログラムの作成の終了を指示する入力がなされた旨を通知するデータが来たか否かをチェックする。そして、制御部11は、もしプログラムの作成の終了を指示する旨の通知が来ていたら処理をS031へ移し、そうでなければ処理をS019へ移す(S018)。
【0064】
S019において、制御部11は、マウスボタンがダブルクリックされた旨を通知するデータがマウス1から来たか否かをチェックする。そして、ダブルクリックされた旨を通知するデータが来ていたら処理をS020へ移し、そうでなければ処理をS018へ戻す。
【0065】
ダブルクリックされた旨を通知するデータが来ていたら、制御部11は、マウスカーソルがプログラム作成フォームに配置された何れかのコンポーネント上にあるか否かをチェックする。そして、制御部11は、もしマウスカーソルが何れかのコンポーネント上にあれば処理をS021へ移し、そうでなければ処理をS018へ戻す(S020)。
【0066】
S021において、制御部11は、ダブルクリックされたコンポーネントが数値データ編集コンポーネント又は文字列データ編集コンポーネントの何れかであるか否かをチェックする。そして、制御部11は、当該コンポーネントが数値データ編集コンポーネント又は文字列データ編集コンポーネントの何れかであれば処理をS028へ移し、そうでなければ処理をS022へ移す。
【0067】
S022において、制御部11は、当該コンポーネントがメモリ領域制御コンポーネントであるか否かを更にチェックする。そして、制御部11は、もし当該コンポーネントがメモリ領域制御コンポーネントであれば処理をS023へ移し、そうでなければ処理をS018へ移す。
【0068】
S023において、制御部11は、当該コンポーネントの近傍にプロパティ設定ウインドウを表示する。
そして、制御部11は、プロパティ設定ウインドウへのデータ入力が終了するのを待つ(S024)。
【0069】
データ入力が終了したら、制御部11は、まず画面制御プロパティ入力欄に入力されたデータが”True”であるか否かをチェックする。そして、制御部11は、当該データが”True”であれば処理をS026へ移し、そうでなければ、処理をS027へ移す(S025)。
【0070】
S026において、制御部11は、プログラム作成フォームに配置された各編集コンポーネントの種類及びこれらのデータプロパティ,項目記号プロパティから画面データ用メモリ領域定義ファイルを作成して外部記憶装置4へ書き込む。本実施形態においては、この画面データ用メモリ領域定義ファイルのファイル名を”TEST1.DSL”とする。そして、制御部11は、処理をS018へ戻す。
【0071】
一方、画面制御プロパティ入力欄に入力されたデータが”True”でなかった場合、制御部11は、DLL引数定義ファイル名プロパティ入力欄に入力されたデータを当該プロパティに書き込んで処理をS018へ戻す(S027)。
【0072】
また、ダブルクリックされたコンポーネントが数値データ編集コンポーネント又は文字列データ編集コンポーネントであるとS021において判断した場合、制御部11は、当該コンポーネントの近傍にDLL設定ウインドウを表示する(S028)。
【0073】
そして、制御部11は、DLL設定ウインドウへのデータ入力が終了するのを待つ(S029)。
データ入力が終了したら、制御部11は、DLL設定ウインドウへ入力されたデータを当該コンポーネントのプロパティに書き込んで、処理をS018へ戻す(S030)。
【0074】
一方、S018においてプログラムの作成を終了する旨を通知するデータが来ていたら、制御部11は、プログラム作成フォーム上に配置された各コンポーネント及びそれらのプロパティ等に基づいてプログラムを生成する(S030)。
【0075】
このプログラム生成において、制御部11は、プログラム作成フォーム上の各コンポーネントの配置等からプログラム実行時の画像データを生成する。また、制御部11は、プログラム作成フォーム上に配置された数値データ編集コンポーネント,文字列データ編集コンポーネントにデータ入力がなされた際に当該コンポーネントのDLLファイル名プロパティに設定されたDLLを呼び出して実行するように、プログラムを生成する。更に、制御部11は、プログラム作成フォーム上に配置されたメモリ領域制御コンポーネントに画面制御プロパティが”True”であるものがあれば、画面データ用メモリ領域に書き込まれたデータを各コンポーネントのプロパティに設定するように、プログラムを生成する。
【0076】
そして、制御部11は、このようにして得られたプログラムを外部記憶装置4に書き込む。尚、本実施形態においては、この社員データベース検索プログラムのファイル名を”TEST1.EXE”とする。
【0077】
以上のようにして、制御部11は、社員データベース検索プログラムを作成するための制御処理プログラムの実行を終了する。
<社員データベース検索プログラムの作成手順>
次に、図5乃至図15によって、プログラマが社員データベース検索プログラムを作成するための手順及び画面表示例について説明する。
【0078】
まず、プログラマがプログラムの作成を開始すべき旨の指示をマウス1又はキーボード2から入力すると、プログラム作成フォーム22が表示装置3の表示画面20に表示される。図5は、表示装置3の表示画面20上に表示されたプログラム作成フォーム22の初期表示画面である。この初期表示画面において、プログラマは、マウス1又はキーボード2からの指示入力によって、プログラム作成フォーム22上に、文字列表示コンポーネント23,25、数値データ編集コンポーネント24、文字列データ編集コンポーネント26、メモリ領域確保コンポーネント27,28を夫々配置する(図6)。
【0079】
次に、プログラマは、コンポーネントの配置を終了する旨の指示入力をマウス1又はキーボード2から行う。すると、データベース項目表示ウインドウ29が表示装置3の表示画面20上に表示される(図7)。プログラマは、マウス1を操作してマウスカーソル21をデータベース項目表示ウインドウ29上の項目名”社員番号”を含む行30上に移動させる。そして、プログラマは、マウスボタンを押し下げる。更に、プログラマは、マウスボタンを押したままマウス1を操作して、マウスカーソル21を文字列表示コンポーネント23上に移動させ、マウスボタンから指を離す。プログラマがマウスボタンから指を離すと、文字列表示コンポーネント23の文字列プロパティの値が”社員番号”に設定される。そして、文字列表示コンポーネント23に文字列プロパティの値である”社員番号”の文字列が表示される(図8)。
【0080】
プログラマは、マウス1を操作してマウスカーソル21を再び行30上に移動させる。そして、プログラマは、マウスボタンを押し下げる。更に、プログラマは、マウスボタンを押したままマウス1を操作して、マウスカーソル21を数値データ編集コンポーネント24上に移動させ、マウスボタンから指を離す(図9)。プログラマがマウスボタンから指を離すと、数値データ編集コンポーネント24のデータ型プロパティ及びデータ桁数プロパティが変更される。
【0081】
次に、プログラマは、マウス1を操作してマウスカーソル21をデータベース項目表示ウインドウ29上の項目名”社員名”を含む行31上に移動させる。そして、プログラマは、マウスボタンを押し下げる(図10)。更に、プログラマは、マウスボタンを押したままマウス1を操作して、マウスカーソル21を文字列表示コンポーネント25上に移動させ、マウスボタンから指を離す。プログラマがマウスボタンから指を離すと、文字列表示コンポーネント25の文字列プロパティの値が”社員名”に設定される。そして、文字列表示コンポーネント25に文字列プロパティの値である”社員名”の文字列が表示される(図11)。
【0082】
プログラマは、マウス1を操作してマウスカーソル21を再び行31上に移動させる。そして、プログラマは、マウスボタンを押し下げる。更に、プログラマは、マウスボタンを押したままマウス1を操作して、マウスカーソル21を文字列データ編集コンポーネント26上に移動させ、マウスボタンから指を放す(図12)。プログラマがマウスボタンから指を離すと、文字列データ編集コンポーネント26のデータ型プロパティ及びデータ桁数プロパティが変更される。
【0083】
次に、プログラマは、マウスカーソル21を数値データ編集コンポーネント24上に移動させ、マウスボタンをダブルクリックする。すると、数値データ編集コンポーネント24の近傍にDLL設定ウインドウ32が表示される(図13)。
【0084】
プログラマは、DLL設定ウインドウ32中のDLLファイル名プロパティ入力欄33に、数値データ編集コンポーネント24に数値データが入力された時に実行されるDLLのファイル名を、入力する。本実施形態においては、先に説明した入力データチェックDLLのファイル名である”WCHECKDD.DLL”を入力する。そして、数値データ編集コンポーネント24に数値データが入力された時にDLLを実際に実行する旨を、DLL実行有効プロパティ入力欄34をクリックすることにより設定する。以上の入力が終了したら、プログラマは、マウス1でDLL設定ウインドウ32中のOK欄35をクリックする。尚、DLLファイル名プロパティ入力欄33,DLL実行有効プロパティ入力欄34へ入力したデータをキャンセルする場合は、キャンセル欄36をクリックする。
【0085】
次に、プログラマは、マウスカーソル21をメモリ領域制御コンポーネント27上に移動させ、マウスボタンをダブルクリックする。すると、メモリ領域制御コンポーネント27の近傍にプロパティ設定ウインドウ37が表示される(図14)。
【0086】
プログラマは、メモリ領域制御コンポーネント27を画面用メモリ領域制御用とすべく、プロパティ設定ウインドウ37中の、画面用メモリ領域制御プロパティ入力欄39に、”True”を入力し、OK欄40をクリックする。
【0087】
次に、プログラマは、マウスカーソル21をメモリ領域制御コンポーネント28上に移動させ、マウスボタンをダブルクリックする。すると、メモリ領域制御コンポーネント28の近傍にプロパティ設定ウインドウ42が表示される(図15)。
【0088】
プログラマは、メモリ領域制御コンポーネント28をDLL引数メモリ領域制御用とすべく、プロパティ設定ウインドウ42中のDLL引数定義ファイル名プロパティ入力欄43に、先にDLL設定ウインドウ32に設定したDLLである入力データチェックDLLへの引数を定義したファイルのファイル名である”WCHECKDD.DSL”を入力する。更に、プログラマは、画面用メモリ領域確保プロパティ44に、”False”を入力し、OK欄45をクリックする。
【0089】
このように、プログラマは、データベース項目表示ウインドウ29から各コンポーネントのプロパティへ値を転送したり、DLL設定ウインドウ30及びプロパティ設定ウインドウ37,42にファイル名等を入力することにより、社員データベース検索プログラムを作成することができる。
<社員データベース検索プログラムの実行>
次に、上述のようにして作成された社員データベース検索プログラムを実行する際の制御部11の動作について、説明する。
【0090】
マウス1,キーボード2からの指示入力により社員データベース検索プログラムの実行指示がなされると、制御部11は、図16乃至図20の処理を開始する。
【0091】
制御部11は、まず、社員データベース検索プログラムの初期画面を表示する(S101)。
次に、制御部11は、メモリ領域確保DLLが、メモリ10のテキスト領域に既に存在するか否かをチェックする。もし、メモリ領域確保DLLが既にメモリ10上に存在すれば処理をS104へ移し、そうでなければ処理をS103へ移す(S102)。
【0092】
S103において、制御部11は、メモリ領域確保DLLを外部記憶装置4から読み込んで、メモリ10のテキスト領域に書き込む。
S104において、制御部11は、先に説明したように作成された社員データベース検索プログラムの画面データ用メモリ領域定義ファイルのファイル名である”TEST1.DSL”を引数としてメモリ領域確保DLLをコールする。尚、制御部11は、このファイル名を、社員データベース検索プログラムのファイル名である”TEST1.EXE”の中の”EXE”を”DSL”に置き換えることにより、決定する。
【0093】
メモリ領域確保DLLがコールされると、制御部11は、処理をS201へ移す。
S201において、制御部11は、引数として受け取ったメモリ領域定義ファイルのファイル名(今の場合は、”TEST1.DSL”である。)に基づいて、当該ファイルの内容を外部記憶装置4から読み込む。
【0094】
そして、制御部11は、当該ファイルの内容に対応する領域がメモリ10のヒープ領域上に既に存在するか否かをチェックする。制御部11は、もし当該領域がメモリ10のヒープ領域上に存在しなければ処理をS203へ移し、そうでなければ処理を終了する(S202)。
【0095】
S203において、制御部11は、S201で読み込んだメモリ領域定義ファイルの内容に基づいてメモリ10のヒープ領域上に領域を確保し、処理を終了する。
【0096】
制御部11は、以上のようなメモリ領域確保DLLの処理を終了すると、S105から社員データベース検索プログラムの処理を継続する。
S105において、制御部11は、数値データ編集コンポーネントのDLLファイル名プロパティの値である”WCHECKDD.DLL”の中の”DLL”を”DSL”と置き換えることにより、当該DLLの引数のためのメモリ領域定義ファイルのファイル名を”WCHECKDD.DSL”と決定する。そして、当該メモリ領域定義ファイル名の文字列である”WCHECKDD.DSL”の文字列データを引数として、メモリ領域確保DLLをコールする。
【0097】
メモリ領域確保DLLがコールされると、制御部11は、処理をS201へ移す。
S201において、制御部11は、引数として受け取ったメモリ領域定義ファイルのファイル名(今の場合は、”WCHECKDD.DSL”である。)に基づいて、当該ファイルの内容を外部記憶装置4から読み込む。
【0098】
そして、制御部11は、当該ファイルの内容に対応する領域がメモリ10のヒープ領域上に既に存在するか否かをチェックする。制御部11は、もし当該領域がメモリ10のヒープ領域上に存在しなければ処理をS203へ移し、そうでなければ処理を終了する(S202)。
【0099】
S203において、制御部11は、S201で読み込んだメモリ領域定義ファイルの内容に基づいてメモリ10のヒープ領域上に領域を確保し、処理を終了する。
【0100】
制御部11は、以上のようなメモリ領域確保DLLの処理を終了すると、S106から社員データベース検索プログラムの処理を継続する。
S106において、制御部11は、数値データ編集コンポーネントに社員番号の数値データが入力されるのを待つ。
【0101】
社員番号の数値データが入力されたら、制御部11は、数値データ編集コンポーネントの項目記号プロパティに設定された文字列である”NM2114”の文字列データと当該社員番号の数値データを、入力データチェックDLLへの引数のために確保されたメモリ10上の領域に、書き込む(S107)。
【0102】
そして、制御部11は、数値データ編集コンポーネントのDLLファイル名プロパティに設定された”WCHECKDD.DLL”の文字列の文字列データを引数として、DLL呼出管理ルーチンをコールする(S108)。
【0103】
DLL呼出管理ルーチンは、コンパイル時にスタティックにリンクされるサブルーチンである。
DLL呼出管理ルーチンがコールされると、制御部11は、処理をS301へ移す。
【0104】
S301において、制御部11は、S106からの引数として受け取ったDLLファイル名(今の場合は、”WCHECKDD.DLL”である。)に相当するDLLの内容が既にメモリ10上のテキスト領域に存在するか否かをチェックする。
【0105】
もし、当該DLLの内容がメモリ10上に存在しなければ、制御部11は、処理をS302へ移す。もし、既にメモリ10上に存在すれば、制御部11は、処理をS303へ移す。
【0106】
S302において、制御部11は、引数として受け取ったDLLファイル名に相当するDLLの内容を外部記憶装置4から読み込んでメモリ10上のテキスト領域に書き込む。
【0107】
S303において、制御部11は、引数として受け取ったDLLファイル名に相当するDLL(今の場合は、入力データチェックDLL(ファイル名”WCHECKDD.DLL”)である。)をコールする。
【0108】
このようにして入力データチェックDLLがコールされると、制御部11は、処理をS401へ移す。
S401において、制御部11は、引数のために確保されたメモリ領域から、項目記号(今の場合は、社員番号の項目記号”NM2114”である。)を読み出す。
【0109】
そして、制御部11は、社員番号の項目記号”NM2114”によってデータ項目ファイルを検索し、社員番号の項目記号”NM2114”に基づいてデータファイル検索を実行するDLLのファイル名(本実施形態においては、先に説明したデータファイル検索DLLのファイル名”WCHKNAME.DLL”である。)を得る(S402)。
【0110】
制御部11は、上述のようにして得られたDLLファイル名である”WCHKNAME.DLL”の中の”DLL”を”DSL”に置き換えることにより、当該DLLへの引数のためのメモリ領域定義ファイルのファイル名を”WCHKNAME.DSL”と決定する。そして、この”WCHKNAME.DSL”を引数として、メモリ領域確保DLLをコールする(S403)。
【0111】
メモリ領域確保DLLがコールされると、制御部11は、処理をS201へ移す。
S201において、制御部11は、引数として受け取ったメモリ領域定義ファイルのファイル名(今の場合は、”WCHKNAME.DSL”である。)に基づいて、当該ファイルの内容を外部記憶装置4から読み込む。
【0112】
そして、制御部11は、当該ファイルの内容に対応する領域がメモリ10のヒープ領域上に既に存在するか否かをチェックする。制御部11は、もし当該領域がメモリ10のヒープ領域上に存在しなければ処理をS203へ移し、そうでなければ処理を終了する(S202)。
【0113】
S203において、制御部11は、S201で読み込んだメモリ領域定義ファイルの内容に基づいてメモリ10のヒープ領域上に領域を確保し、処理を終了する。
【0114】
制御部11は、以上のようなメモリ領域確保DLLの処理を終了すると、入力データチェックDLLの処理をS404から継続する。
S404において、制御部11は、引数として受け取った項目記号(今の場合は、”NM2114”である。)と、入力されたデータ(今の場合は入力された社員番号の数値データである。)とを、S402で得たDLLファイル名(今の場合は”WCHKNAME.DLL”である。)への引数のためのメモリ領域に書き込む。
【0115】
そして、制御部11は、S402で得たDLLファイル名(今の場合は”WCHKNAME.DLL”である。)を引数として、DLL呼出管理ルーチンをコールする。
【0116】
DLL呼出管理ルーチンがコールされると、制御部11は、処理をS301へ移す。
S301において、制御部11は、引数として受け取ったDLLファイル名(今の場合は、”WCHKNAME.DLL”である。)に相当するDLLの内容が既にメモリ10上のテキスト領域に存在するか否かをチェックする。
【0117】
もし、当該DLLの内容がメモリ10上に存在しなければ、制御部11は、処理をS302へ移す。もし、既にメモリ10上に存在すれば、制御部11は、処理をS303へ移す。
【0118】
S302において、制御部11は、引数として受け取ったDLLファイル名に相当するDLLの内容を外部記憶装置4から読み込んでメモリ10上のテキスト領域に書き込む。
【0119】
S303において、制御部11は、引数として受け取ったDLLファイル名に相当するDLL(今の場合は、データファイル検索DLL(ファイル名”WCHKNAME.DLL”)である。)をコールする。
【0120】
このようにしてデータファイル検索DLLがコールされると、制御部11は、処理をS501へ移す。
S501において、制御部11は、引数のためのメモリ領域から、社員番号の項目記号である”NM2114”,社員番号の数値データを読み出す。
【0121】
次に、制御部11は、データファイル(本実施形態においては、ファイル名を”DATA1.DAT”とする。)を社員番号の数値データによって検索し、当該社員番号に対応する社員名を得る(S502)。
【0122】
そして、制御部11は、S502における検索の結果として得られた社員名のデータを、社員名の項目記号”NM2040”をインデックスとして、画面データ用メモリ領域に書き込む(S503)。そして、制御部11は、データファイル検索DLLの処理を終了する。
【0123】
データファイル検索DLLからリターンすると、制御部11は、DLL呼出管理ルーチンの処理をS304から継続する。
S304において、制御部11は、データファイル検索DLLが占有しているメモリ10上のテキスト領域を解放する。
【0124】
そして、制御部11は、DLL呼出管理ルーチンからリターンする。
DLL呼出管理ルーチンからリターンすると、制御部11は、入力データチェックDLLへ復帰するが、そのまま処理を終了してリターンする。
【0125】
入力データチェックDLLからリターンすると、制御部11は、DLL呼出管理ルーチンの処理をS304から継続する。
S304において、制御部11は、入力データチェックDLLが占有しているメモリ10上のテキスト領域を解放する。
【0126】
そして、制御部11は、DLL呼出管理ルーチンからリターンする。
DLL呼出管理ルーチンからリターンすると、制御部11は、社員データベース検索プログラムの処理をS109から継続する。
【0127】
S109において、制御部11は、画面データ用メモリ領域から社員名の項目記号”NM2040”をインデックスとして社員名の文字列データを読み込む。そして、その社員名の文字列データを、文字列データ編集コンポーネントの文字列プロパティに設定し、社員名を画面に表示する。そして、制御部11は、処理を終了する。
【0128】
以上のようにして、制御部11は、社員データベース検索プログラムを実行することができる。
<本実施形態の機能ブロックの説明>
以上に説明した実施形態を、各機能毎のブロックで表した概念図が図23である。図23において、このコンピュータシステムは、データ項目管理手段50と、プログラム作成手段51と、プログラム実行手段52と、引数受渡管理手段53と、DLL呼出管理手段54と、入力データチェック手段55と、データファイルアクセス手段56と、データ保持手段57とから構成されている。
【0129】
次に、図21の各機能ブロックについて説明する。
データ項目管理手段50は、外部記憶装置4と同一の機能を果たすものである。
【0130】
プログラム作成手段51は、制御部11と同一の機能を果たすものである。
プログラム実行手段52は、制御部11と同一の機能を果たすものである。
引数受渡管理手段53は、メモリ10と制御部11とが果たす機能と同一の機能を果たすものである。
【0131】
DLL呼出管理手段54は、メモリ10と制御部11とが果たす機能と同一の機能を果たすものである。
入力データチェック手段55は、制御部11と同一の機能を果たすものである。
【0132】
データファイルアクセス手段56は、制御部11と同一の機能を果たすものである。
データ保持手段57は、外部記憶装置4と同一の機能を果たすものである。
【0133】
次に、図23の各機能ブロックの動作について説明する。
プログラム作成手段51は、プログラマからの指示により、データ項目管理手段50からデータ項目のデータを受け取って、プログラムを作成する。
【0134】
プログラム実行手段52は、プログラム作成手段51によって作成されたプログラムを実行する。
引数受渡管理手段53は、プログラム実行手段52から引数を受け取り、入力データチェック手段55へ渡す。また、引数受渡管理手段53は、入力データチェック手段55から引数を受け取り、データファイルアクセス手段56へ渡す。また、引数受渡管理手段53は、データアクセス手段56から戻り値を受け取り、プログラム実行手段52へ渡す。
【0135】
DLL呼出管理手段54は、プログラム実行手段52からの指示により、入力データチェック手段55を呼び出して実行し、データチェック手段55の実行終了後に入力データチェック手段55が占有するメモリ10上のメモリ領域を解放する。また、DLL呼出管理手段54は、入力データチェック手段55からの指示により、データアクセス手段56を呼び出して実行し、データアクセス手段56の実行終了後にデータアクセス手段56が占有するメモリ10上のメモリ領域を解放する。
【0136】
入力データチェック手段55は、引数受渡管理手段53を介してプログラム実行手段52から受け取ったデータによってデータ項目管理手段50のデータ項目情報を検索し、データファイルアクセス手段56の情報を得る。そして、その後データ保持手段57を検索するように、DLL呼出管理手段54を介してデータアクセス手段56に指示する。
【0137】
データアクセス手段56は、引数受渡管理手段53を介して入力データチェック手段55から受け取ったデータによってデータ保持手段57を検索する。そして、その検索結果を引数受渡管理手段53を介してプログラム実行手段52に戻す。
【0138】
データ保持手段57は、データを保持する。
以上のようにして、社員データベース検索プログラムの作成及び実行は、図23の機能ブロックによって実現される。
【0139】
【発明の効果】
以上説明したように、本発明によれば、DLLが占有していたメモリ領域を解放するためのソースプログラムを入力しなくても、DLLが占有していたメモリ領域を解放することができる。更に、プログラマがソースプログラムの入力をしなくても、アプリケーションプログラムを作成することができる。また、プログラマがデータベースの構造やアクセス方法を理解していなくても、データベース検索を行うプログラムを作成することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態によるコンピュータシステムの構成を示すブロック図
【図2】図1の制御部において実行される制御処理を示すフローチャート
【図3】図1の制御部において実行される制御処理を示すフローチャート
【図4】図1の制御部において実行される制御処理を示すフローチャート
【図5】図1の表示装置に表示される画面の説明図
【図6】図1の表示装置に表示される画面の説明図
【図7】図1の表示装置に表示される画面の説明図
【図8】図1の表示装置に表示される画面の説明図
【図9】図1の表示装置に表示される画面の説明図
【図10】図1の表示装置に表示される画面の説明図
【図11】図1の表示装置に表示される画面の説明図
【図12】図1の表示装置に表示される画面の説明図
【図13】図1の表示装置に表示される画面の説明図
【図14】図1の表示装置に表示される画面の説明図
【図15】図1の表示装置に表示される画面の説明図
【図16】図1の制御部において実行される制御処理を示すフローチャート
【図17】図1の制御部において実行される制御処理を示すフローチャート
【図18】図1の制御部において実行される制御処理を示すフローチャート
【図19】図1の制御部において実行される制御処理を示すフローチャート
【図20】図1の制御部において実行される制御処理を示すフローチャート
【図21】図1の表示装置に表示される画面の説明図
【図22】図1の表示装置に表示される画面の説明図
【図23】社員データベース検索プログラムの作成及び実行を示した機能ブロック図
【符号の説明】
1 マウス
2 キーボード
3 表示装置
4 外部記憶装置
8 表示装置コントローラ
10 メモリ
11 制御部
12 制御装置
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a computer system, a visual programming system, and a medium on which a program is recorded.
[0002]
[Prior art]
Conventionally, processing common to various application programs has been created as a subroutine. If such subroutines are created and prepared, desired processing can be realized simply by calling and executing these subroutines from each application program, so that duplication of program development can be reduced. In order to thoroughly reduce such duplication labor, it is desirable to create a subroutine for each single function.
[0003]
Furthermore, from the viewpoint of saving a memory area used when executing an application program, the above-described subroutine is also used as a dynamic link library (hereinafter referred to as “DLL”).
[0004]
In addition, what is called a visual programming environment has been developed in order to enable easy creation of a program runtime screen and easy creation of a program for a programmer with a low level of skill. Examples of this visual programming environment include "Visual Basic (trademark)" manufactured by Microsoft, "Delphi (trademark)" manufactured by Borland, and the like. Program creation in these visual programming environments is performed by placing components as appropriate on the program creation form, entering data into the properties of these components, and entering the source program into an event procedure or event handler. .
[0005]
Such a visual programming environment is widely used for creating a program for searching and updating a database.
[0006]
[Problems to be solved by the invention]
However, although it is easy to create an application program in a conventional visual programming environment, it is still necessary to input a source program. In order to improve this point, it is conceivable that common processing is made into subroutines as described above, and these subroutines are called from an event procedure or the like. However, even in such a case, it is still necessary to input a source program for calling a subroutine.
[0007]
The first object of the present invention is to provide a visual programming system capable of creating an application program without the input of a source program by a programmer in view of such problems of the prior art.
[0008]
In addition, in order to create a program for searching / updating a database, the programmer must be familiar with the structure and access method of the database.
[0009]
The second problem of the present invention is to create a program for searching / updating a database even if the programmer does not understand the structure and access method of the database in view of the problems of the prior art. It is to provide a visual programming system that can.
[0010]
[Means for Solving the Problems]
  The present invention employs the following means in order to solve the above problems. That is, the present invention provides a display memory that holds data to be displayed on a display device, a display controller that displays data held in the display memory on the display device, an interface to which instruction input means is connected, and a memory An external storage device and a control unit, displaying a program creation form on the display screen of the display device, and specifying a DLL specified by data set in a component arranged on the program creation form In a visual programming system for creating such a program to be executed by the control unit, the control unit includes:
In response to an instruction input from the instruction input means, the program creation form is read from the external storage device and displayed on the display device through the display memory and a display controller; a property for setting data; and A numeric data editing component or a character data editing component, including a property for setting a DLL (dynamic link library) called when data is input to the property and a property for setting an attribute of the data; Means for reading from the external storage device in response to an instruction input from the instruction input means and causing the display memory and a display controller to display at a position indicated by the instruction input means on the screen of the display device;
Read at least the item symbol, item name, and data attribute of each item included in the database from the database on the external storage device, and in the vicinity of the program creation form through the display memory and display controller, the at least item symbol and item Means for displaying an image indicating a name and data attribute, and at least the item symbol, item name, and data attribute when the image indicating at least the item symbol, item name, and data attribute is input through an instruction input unit Means for storing in the memory data corresponding to
Corresponding to at least the item symbol and data attribute stored for the property for setting the attribute of the data of any one of the components input in response to the instruction input from the instruction input means Means for writing data, means for creating a memory area definition file from the type of the component and the data corresponding to at least the item symbol and data attribute written in the property, and writing to the external storage device; and the instruction input In response to the instruction input from the means, the DLL (called when the data is input to the property for setting the data to the property for setting the DLL (dynamic link library) of any one of the components ( Dynamic link library) setting method When data is input to the property for setting the data of the component, the DLL (dynamic link library) set to the property for setting the DLL (dynamic link library) of the component is controlled. Including at least item symbols and data attributes according to a memory area definition file corresponding to the DLL (dynamic link library) when the generated program is executed, A function for securing an area on the memory of data to be transferred to the DLL (dynamic link library), and for setting the data of the component by executing the generated program A DLL (dynamic link library) set in a property for setting a DLL (dynamic link library) of the component when data is input to the property is executed while handing over an area on the memory. It is a visual programming system.
[0011]
  The DLL (dynamic link library) file name may be set in the property for setting the DLL (dynamic link library).
[0020]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings of FIGS.
[0021]
Embodiment
FIG. 1 is a block diagram showing the configuration of a computer system and a visual programming system according to an embodiment of the present invention. In FIG. 1, the computer system and visual programming system are composed of a mouse 1, a keyboard 2, a display device 3, an external storage means 4, and a control device 12. The control device 12 includes a mouse interface 5, a keyboard interface 6, a display memory 7, a display device controller 8, an external storage interface 9, a memory 10, and a control unit 11 that are connected to each other via a bus B. Is made up of.
[0022]
The mouse 1 and the keyboard 2 are input devices for an operator to input data such as characters.
The display device 3 is a CRT that displays data input from the mouse 1 and the keyboard 2. The display device 3 may be a liquid crystal display.
[0023]
The external storage device 4 is a hard disk that stores programs processed by the control unit 11, data files, and the like. The external storage device 4 may be a magneto-optical disk. The external storage device 4 corresponds to storage means and a medium.
[0024]
The control device 12 processes data input from the mouse 1 and the keyboard 2, processes screen data to be displayed on the display device 3, reads data from the external storage device 4, and writes data to the external storage device 4. It is a device that performs.
[0025]
The mouse interface 5 is a device that transmits instruction input data input from the mouse 1 to the bus B.
The keyboard interface 6 is a device that transmits data such as characters input from the keyboard 2 to the bus B.
[0026]
The display memory 7 is a memory for holding data such as characters and images to be displayed on the display device 3.
The display device controller 8 is a device that controls processing for displaying data such as characters and images held in the display memory 7 on the display device 3.
[0027]
The external storage interface 9 is a device that controls processing of reading data from the external storage device 4 and writing data to the external storage device 4.
The memory 10 is configured by a RAM (Random Access Memory) or the like, and is a memory used by the control unit 11 for work.
[0028]
The control unit 11 is configured by a CPU (Central Processing Unit) or the like, and instructs the display device controller 8 and the external storage interface 9 to display a screen, write data to the external storage device 4, or data from the external storage device 4, respectively. Instruct reading. Further, the control unit 11 receives input data from the mouse 1 through the mouse interface 5 and input data from the keyboard 2 through the keyboard interface 6. The control unit 11 corresponds to control means.
<Description of operation of embodiment>
Next, the operation of the embodiment of the present invention will be described by taking as an example the creation and execution of an employee database search program for searching an employee database.
[0029]
The employee database described below consists of two items: employee number and employee name. Also, two item symbols, “NM2114”, which is a character string corresponding to the item name “employee number”, and “NM2040”, which is a character string corresponding to the item name “employee name”. Data is added.
[0030]
The employee database search program to be created below inputs the employee number numerical data, searches the employee database data file for the employee name corresponding to the employee number, and displays it on the display device 3. It is a program for.
[0031]
As a DLL for performing processing for assisting the search of the employee database, an input data check DLL (this DLL file name is “WCHECKKD.DLL”), a data file search DLL (this DLL file name is “”) WCHKNAME.DLL ") is prepared.
[0032]
The input data check DLL receives input data and item symbols corresponding to the input data as arguments. The input data check DLL refers to the data item file based on the item symbol. As a result, the input data check DLL obtains the file name of the DLL that executes the process of searching for the data file based on the input data and the item symbol. Further, the input data check DLL calls and executes the DLL.
[0033]
The data file search DLL receives data serving as a search key and item symbols corresponding to the data as arguments. The data file search DLL searches for a data file based on the data and the item symbol.
[0034]
A DLL argument definition file is prepared for each DLL as a file that defines an argument name of an argument to be transferred to each DLL and a memory area (hereinafter referred to as “DLL argument memory area”) necessary for writing the argument. Has been. This DLL argument definition file is stored in the external storage device 4. For the above-described input data check DLL, a DLL argument definition file whose file name is “WCHECKKD.DSL” is prepared. Similarly, a DLL argument definition file whose file name is “WCHKNAME.DSL” is prepared for the data file search DLL described above. As described above, the DLL and the DLL argument definition file for the DLL have a character string in which “DLL” and “DSL” are added to the end of the same character string as the file name. Therefore, the DLL argument definition file name for the DLL can be determined from the DLL file name. Similarly, the DLL file name can be determined from the DLL argument definition file name.
[0035]
Furthermore, a memory area securing DLL (the DLL file name is “DSL32.DLL”) is prepared as a DLL for performing a process of passing an argument when calling a DLL from a program or when calling a DLL from a DLL. Has been.
[0036]
The memory area securing DLL receives the file name of the memory area definition file as an argument. Then, the memory area definition file is read from the external storage device 4. Then, it is checked whether or not a memory area corresponding to the contents of the file already exists on the heap area of the memory 10. If the memory area does not exist, a memory area is secured on the heap area of the memory 10 based on the contents of the file.
[0037]
Next, a character string display component, a numerical data editing component, a character string data editing component, and a memory area control component, which are components used when creating the employee database search program, will be described.
[0038]
The character string display component has a character string data property for setting character string data. Then, a character string corresponding to the character string data set in the character string data property is displayed.
[0039]
The numeric data editing component displays a numeric data property for setting numeric data, an item symbol property for setting item symbol data corresponding to the numeric data, and when numeric data is input to the numeric data property. The DLL file name property for setting the DLL file name to be called and executed, the DLL execution enabled property for setting whether to execute the DLL, and the data type for setting the numerical data A data type property and a data digit number property for setting the number of digits of numeric data are provided.
[0040]
At the time of executing the program in which the numerical data editing component is arranged, numerical data input from the keyboard 2 or the like, or numerical data obtained as a result of executing the processing of the program is set in the numerical data property. In addition, item symbol data input from the keyboard 2 and the like, and item symbol data obtained as a result of executing the program processing are set in the item symbol data property. Then, the numerical data editing component displays a numerical value corresponding to the numerical data set in the numerical data property. Further, when data is input to the numerical data property, if the value of the DLL execution valid property is valid, the DLL corresponding to the file name set in the DLL file name property is called and executed.
[0041]
The character string data editing component includes a character string data property for setting character string data, an item symbol property for setting item symbol data corresponding to the character string data, and a character string in the character string data property. A DLL file name property for setting a DLL file name to be called and executed when data is input, a DLL execution enable property for setting whether to execute the DLL, and a character string data A data type property for setting the data type and a data digit number property for setting the data digit number of the character string data are provided.
[0042]
When the program in which the character string data editing component is arranged is executed, character string data input from the keyboard 2 or the like or character string data obtained as a result of executing the processing of the program is set in the character string data property. In addition, item symbol data input from the keyboard 2 and the like, and item symbol data obtained as a result of executing the program processing are set in the item symbol data property. Then, the numerical data editing component displays a character string corresponding to the character string data set in the numerical data property. Further, when data is input to the character string data property, if the value of the DLL execution valid property is valid, the DLL corresponding to the file name set in the DLL file name property is called and executed.
[0043]
The memory area control component has a screen control property and a DLL argument definition file name property. The screen control property is a property for setting a character string “True” or “False”. The DLL argument definition file name property is a property for setting the file name of the DLL argument definition file described above.
[0044]
Next, the operation of the memory area control component when creating a program will be described.
When the value of the screen control property is set to “True” at the time of creating the program, the memory area control component does not change the value of the DLL argument definition file name property of each editing component placed on the program creation form. A file (hereinafter referred to as “screen data memory area definition file”) that defines a memory area (hereinafter referred to as “screen data memory area”) for writing data to be set in each data property is generated. Each DLL writes data obtained as a result of various processes in a place indexed by an item symbol of the data in the screen data memory area. Then, the program sets the data written in the screen data memory area to the data property corresponding to the item symbol of the component. As a result, the data is displayed on the component on the program execution screen. When the value of the screen control property is set to “False”, the memory area control component does not generate a screen data memory area definition file.
[0045]
Next, an operation when the program in which the memory area control component is arranged is executed will be described.
When the value of the screen control property is “True”, the program in which the memory area control component is arranged, regardless of the value of the DLL argument definition file name property, the screen data memory area definition generated as described above. A screen data memory area is secured on the heap area of the memory 10 in accordance with the contents of the file.
[0046]
When the value of the screen control property is “False”, the program in which the memory area control component is arranged changes the DLL argument memory area into the heap area of the memory 10 according to the contents of the file name set in the DLL argument definition file name property. Secure on top.
<Create employee database search program>
Next, the control processing program executed in the control unit 11 for creating the employee database search program will be described with reference to the flowcharts of FIGS.
[0047]
The control unit 11 starts the processes of FIGS. 2 to 4 in response to an instruction input from the mouse 1 or the keyboard 2.
First, the control unit 11 reads the program creation form data from the external storage device 4 and writes it into the display memory 7. At the same time, the display device controller 8 is instructed to display the contents of the display memory 7 on the display device 3 (S001).
[0048]
Next, the control unit 11 checks whether or not the data for notifying that the instruction to place the component on the program creation form has been input from the mouse 1 or the keyboard 2. If data notifying that an instruction to place a component has been received, the process proceeds to S003. If not, the process proceeds to S004 (S002).
[0049]
In step S <b> 003, the control unit 11 reads the data of the component instructed to be arranged from the external storage device 4 in accordance with the instruction data notified from the mouse 1 or the keyboard 2. Then, the control unit 11 writes the image data of the component in the display memory 7 so that the image of the component is displayed at the position of the mouse cursor on the display screen of the display device 3, and returns the process to S002. The mouse cursor is displayed on the screen of the display device 3 at an arbitrary position determined by an input instruction from the mouse 1.
[0050]
On the other hand, if there is no data notifying that an instruction to place a component has been input in S002, the control unit 11 determines that the data notifying that an instruction to end the placement of the component has been input is the mouse 1 or Check if it came from the keyboard 2. If there is data notifying that an instruction to end the component placement has been received, the control unit 11 moves the process to S005, and if not, returns the process to S002.
[0051]
When receiving data notifying that an instruction to finish component placement has been input, the control unit 11 reads the data item file from the external storage device 4. Then, the control unit 11 displays an image indicating the item symbol, item name, data type, and number of data digits of each item included in the database in the vicinity of the image of the program creation form (S005).
[0052]
Next, the control unit 11 checks whether or not the data for notifying that the instruction input for ending the setting of the properties and the like of each component arranged on the program creation form has come from the mouse 1 or the keyboard 2. If such data is received, the control unit 11 moves the process to S018, and if not, moves the process to S007 (S006).
[0053]
In step S007, the control unit 11 checks whether data notifying that the mouse button has been pressed has come from the mouse 1. Then, the control unit 11 shifts the process to S008 if data notifying that the mouse button has been pressed is received, and returns the process to S006 if not.
[0054]
When the data for notifying that the mouse button is pressed comes from the mouse 1, the control unit 11 determines whether or not the mouse cursor is on the image displaying the contents of the data item file on the display screen of the display device 3. If it is on the image, the process proceeds to S009. Otherwise, the process returns to S006 (S008).
[0055]
In S009, the control unit 11 stores data corresponding to the item symbol, item name, data type, and data digit number of the line where the mouse cursor is located on the display screen of the display device 3 among the data in the data item file. Write to.
[0056]
Then, the control unit 11 waits for the mouse button of the mouse 1 to be released (S010).
When the mouse button of the mouse 1 is released, the control unit 11 checks whether or not the mouse cursor is on the image of any component placed on the program creation form. Then, if the mouse cursor is on the image of any component, the control unit 11 moves the process to S012, and if not, returns the process to S006 (S011).
[0057]
In S012, the control unit 11 checks whether or not the component is a character string display component. If the component is a character string display component, the process proceeds to S013. If not, the process proceeds to S014.
[0058]
When the component with the mouse cursor is a character string display component, the control unit 11 reads character string data corresponding to the item name among the data written in the memory 10 in S009. Then, the character string data is written in the character string property of the character string display component, and the process returns to S006 (S013).
[0059]
On the other hand, when the component with the mouse cursor is not a character string display component, the control unit 11 checks whether or not the component is a numerical data editing component. If the component is a numerical data editing component, the process proceeds to S015; otherwise, the process proceeds to S016 (S014).
[0060]
In S015, the control unit 11 reads data corresponding to the data type, the number of data digits, and the item symbol among the data written in the memory 10 in S009. The control unit 11 writes these data in the data type property, data digit property, and item symbol property of the component, and returns the process to S006.
[0061]
On the other hand, when the component with the mouse cursor is not a numerical data editing component, the control unit 11 checks whether or not the component is a character string data editing component. If the component is a character string data editing component, the process proceeds to S017; otherwise, the process returns to S006 (S016).
[0062]
In S017, the control unit 11 reads data corresponding to the data type, the number of data digits, and the item symbol among the data written in the memory 10 in S009. The control unit 11 writes these data in the data type property, data digit property, and item symbol property of the component, and returns the process to S006.
[0063]
On the other hand, if a notification to end the setting of the properties of each component has been received from the mouse 1 or the keyboard 2 in S006, the control unit 11 notifies that an input for instructing the end of the program creation has been made. Check if data has arrived. Then, the control unit 11 moves the process to S031 if a notice to instruct the end of the program creation is received, and moves the process to S019 if not (S018).
[0064]
In step S019, the control unit 11 checks whether data notifying that the mouse button has been double-clicked has come from the mouse 1. If data notifying that the double click has been received, the process proceeds to S020; otherwise, the process returns to S018.
[0065]
If data notifying that the double click has been received, the control unit 11 checks whether or not the mouse cursor is on any component placed on the program creation form. If the mouse cursor is on any component, the control unit 11 moves the process to S021, and if not, returns the process to S018 (S020).
[0066]
In S021, the control unit 11 checks whether the double-clicked component is either a numerical data editing component or a character string data editing component. If the component is either a numerical data editing component or a character string data editing component, the control unit 11 moves the process to S028, and if not, moves the process to S022.
[0067]
In S022, the control unit 11 further checks whether or not the component is a memory area control component. Then, if the component is a memory area control component, the control unit 11 moves the process to S023, and if not, moves the process to S018.
[0068]
In S023, the control unit 11 displays a property setting window in the vicinity of the component.
Then, the control unit 11 waits for completion of data input to the property setting window (S024).
[0069]
When the data input is completed, the control unit 11 first checks whether or not the data input in the screen control property input field is “True”. If the data is “True”, the control unit 11 moves the process to S026, and if not, moves the process to S027 (S025).
[0070]
In step S026, the control unit 11 creates a screen data memory area definition file from the types of editing components arranged in the program creation form, their data properties, and item symbol properties, and writes them to the external storage device 4. In the present embodiment, the file name of the screen data memory area definition file is “TEST1.DSL”. Then, the control unit 11 returns the process to S018.
[0071]
On the other hand, when the data input to the screen control property input field is not “True”, the control unit 11 writes the data input to the DLL argument definition file name property input field to the property and returns the process to S018. (S027).
[0072]
If it is determined in S021 that the double-clicked component is a numerical data editing component or a character string data editing component, the control unit 11 displays a DLL setting window in the vicinity of the component (S028).
[0073]
Then, the control unit 11 waits for completion of data input to the DLL setting window (S029).
When the data input is completed, the control unit 11 writes the data input to the DLL setting window to the property of the component, and returns the process to S018 (S030).
[0074]
On the other hand, if the data for notifying the end of program creation is received in S018, the control unit 11 generates a program based on the components arranged on the program creation form, their properties, and the like (S030). .
[0075]
In this program generation, the control unit 11 generates image data at the time of program execution from the arrangement of each component on the program creation form. In addition, when data is input to the numerical data editing component and the character string data editing component arranged on the program creation form, the control unit 11 calls and executes the DLL set in the DLL file name property of the component. So that the program is generated. Further, if there is a memory area control component arranged on the program creation form having a screen control property of “True”, the control unit 11 sets the data written in the screen data memory area as the property of each component. Generate a program to set.
[0076]
Then, the control unit 11 writes the program thus obtained in the external storage device 4. In the present embodiment, the file name of the employee database search program is “TEST1.EXE”.
[0077]
As described above, the control unit 11 ends the execution of the control processing program for creating the employee database search program.
<Procedure for creating an employee database search program>
Next, with reference to FIG. 5 to FIG. 15, a procedure for creating an employee database search program by a programmer and a screen display example will be described.
[0078]
First, when the programmer inputs an instruction to start program creation from the mouse 1 or the keyboard 2, a program creation form 22 is displayed on the display screen 20 of the display device 3. FIG. 5 is an initial display screen of the program creation form 22 displayed on the display screen 20 of the display device 3. In this initial display screen, the programmer can input a character string display component 23, 25, a numeric data editing component 24, a character string data editing component 26, a memory area on the program creation form 22 by inputting an instruction from the mouse 1 or the keyboard 2. The securing components 27 and 28 are respectively arranged (FIG. 6).
[0079]
Next, the programmer inputs an instruction to end the component arrangement from the mouse 1 or the keyboard 2. Then, the database item display window 29 is displayed on the display screen 20 of the display device 3 (FIG. 7). The programmer operates the mouse 1 to move the mouse cursor 21 onto the line 30 including the item name “employee number” on the database item display window 29. The programmer then depresses the mouse button. Further, the programmer operates the mouse 1 while holding down the mouse button, moves the mouse cursor 21 onto the character string display component 23, and releases the finger from the mouse button. When the programmer releases the mouse button, the value of the character string property of the character string display component 23 is set to “employee number”. Then, the character string display component 23 displays the character string “employee number” which is the value of the character string property (FIG. 8).
[0080]
The programmer operates the mouse 1 to move the mouse cursor 21 onto the line 30 again. The programmer then depresses the mouse button. Further, the programmer operates the mouse 1 while holding down the mouse button, moves the mouse cursor 21 onto the numerical data editing component 24, and releases the finger from the mouse button (FIG. 9). When the programmer releases the mouse button, the data type property and the data digit property of the numerical data editing component 24 are changed.
[0081]
Next, the programmer operates the mouse 1 to move the mouse cursor 21 onto the line 31 including the item name “employee name” on the database item display window 29. Then, the programmer depresses the mouse button (FIG. 10). Further, the programmer operates the mouse 1 while holding down the mouse button, moves the mouse cursor 21 onto the character string display component 25, and releases the finger from the mouse button. When the programmer releases the mouse button, the value of the character string property of the character string display component 25 is set to “employee name”. Then, the character string display component 25 displays the character string “employee name” which is the value of the character string property (FIG. 11).
[0082]
The programmer operates the mouse 1 to move the mouse cursor 21 onto the line 31 again. The programmer then depresses the mouse button. Further, the programmer operates the mouse 1 while holding down the mouse button, moves the mouse cursor 21 onto the character string data editing component 26, and releases the finger from the mouse button (FIG. 12). When the programmer releases the mouse button, the data type property and the data digit property of the character string data editing component 26 are changed.
[0083]
Next, the programmer moves the mouse cursor 21 onto the numerical data editing component 24 and double-clicks the mouse button. Then, a DLL setting window 32 is displayed near the numerical data editing component 24 (FIG. 13).
[0084]
The programmer inputs a DLL file name to be executed when numerical data is input to the numerical data editing component 24 in the DLL file name property input field 33 in the DLL setting window 32. In the present embodiment, “WCHECKKD.DLL” which is the file name of the input data check DLL described above is input. Then, by clicking the DLL execution valid property input field 34, the fact that the DLL is actually executed when the numerical data is input to the numerical data editing component 24 is set. When the above input is completed, the programmer clicks the OK column 35 in the DLL setting window 32 with the mouse 1. In order to cancel data input to the DLL file name property input field 33 and the DLL execution valid property input field 34, the cancel field 36 is clicked.
[0085]
Next, the programmer moves the mouse cursor 21 onto the memory area control component 27 and double-clicks the mouse button. Then, a property setting window 37 is displayed in the vicinity of the memory area control component 27 (FIG. 14).
[0086]
In order to use the memory area control component 27 for screen memory area control, the programmer inputs “True” in the screen memory area control property input field 39 in the property setting window 37 and clicks the OK field 40. .
[0087]
Next, the programmer moves the mouse cursor 21 onto the memory area control component 28 and double-clicks the mouse button. Then, a property setting window 42 is displayed in the vicinity of the memory area control component 28 (FIG. 15).
[0088]
In order to use the memory area control component 28 for controlling the DLL argument memory area, the programmer inputs the input data which is the DLL previously set in the DLL setting window 32 in the DLL argument definition file name property input field 43 in the property setting window 42. Enter “WCHECKKD.DSL”, which is the file name of the file that defines the argument to the check DLL. Further, the programmer inputs “False” to the screen memory area securing property 44 and clicks the OK column 45.
[0089]
As described above, the programmer transfers the value from the database item display window 29 to the property of each component, or inputs the file name or the like in the DLL setting window 30 and the property setting windows 37 and 42 to execute the employee database search program. Can be created.
<Execution of employee database search program>
Next, the operation of the control unit 11 when executing the employee database search program created as described above will be described.
[0090]
When an instruction to execute the employee database search program is given by an instruction input from the mouse 1 and the keyboard 2, the control unit 11 starts the processes shown in FIGS.
[0091]
First, the control unit 11 displays an initial screen of the employee database search program (S101).
Next, the control unit 11 checks whether the memory area securing DLL already exists in the text area of the memory 10. If the memory area securing DLL already exists in the memory 10, the process proceeds to S104, and if not, the process proceeds to S103 (S102).
[0092]
In S <b> 103, the control unit 11 reads the memory area securing DLL from the external storage device 4 and writes it in the text area of the memory 10.
In S104, the control unit 11 calls the memory area securing DLL with “TEST1.DSL”, which is the file name of the screen data memory area definition file of the employee database search program created as described above, as an argument. The control unit 11 determines this file name by replacing “EXE” in “TEST1.EXE”, which is the file name of the employee database search program, with “DSL”.
[0093]
When the memory area reservation DLL is called, the control unit 11 moves the process to S201.
In step S <b> 201, the control unit 11 reads the contents of the file from the external storage device 4 based on the file name of the memory area definition file received as an argument (in this case, “TEST1.DSL”).
[0094]
Then, the control unit 11 checks whether or not an area corresponding to the content of the file already exists on the heap area of the memory 10. If the area does not exist on the heap area of the memory 10, the control unit 11 moves the process to S203, and otherwise ends the process (S202).
[0095]
In S203, the control unit 11 secures an area on the heap area of the memory 10 based on the contents of the memory area definition file read in S201, and ends the process.
[0096]
When the processing of the memory area securing DLL as described above ends, the control unit 11 continues the processing of the employee database search program from S105.
In S105, the control unit 11 replaces “DLL” in “WCHECKDD.DLL”, which is the value of the DLL file name property of the numerical data editing component, with “DSL”, thereby storing a memory area for the argument of the DLL. The file name of the definition file is determined as “WCHECKDD.DSL”. Then, the memory area securing DLL is called with the character string data of “WCHECKKD.DSL” which is the character string of the memory area definition file name as an argument.
[0097]
When the memory area reservation DLL is called, the control unit 11 moves the process to S201.
In S <b> 201, the control unit 11 reads the contents of the file from the external storage device 4 based on the file name of the memory area definition file received as an argument (in this case, “WCHECKDD.DSL”).
[0098]
Then, the control unit 11 checks whether or not an area corresponding to the content of the file already exists on the heap area of the memory 10. If the area does not exist on the heap area of the memory 10, the control unit 11 moves the process to S203, and otherwise ends the process (S202).
[0099]
In S203, the control unit 11 secures an area on the heap area of the memory 10 based on the contents of the memory area definition file read in S201, and ends the process.
[0100]
When the processing of the memory area reservation DLL as described above is completed, the control unit 11 continues the processing of the employee database search program from S106.
In S106, the control unit 11 waits for the numerical data of the employee number to be input to the numerical data editing component.
[0101]
When the numerical data of the employee number is input, the control unit 11 checks the input data of the character string data “NM2114” that is the character string set in the item symbol property of the numerical data editing component and the numerical data of the employee number. Write to the area on the memory 10 reserved for the argument to the DLL (S107).
[0102]
Then, the control unit 11 calls the DLL call management routine with the character string data of the character string “WCHECKDD.DLL” set in the DLL file name property of the numerical data editing component as an argument (S108).
[0103]
The DLL call management routine is a subroutine that is statically linked at compile time.
When the DLL call management routine is called, the control unit 11 moves the process to S301.
[0104]
In S <b> 301, the control unit 11 already has a DLL content corresponding to the DLL file name received as an argument from S <b> 106 (in this case, “WCHECKKD.DLL”) in the text area on the memory 10. Check whether or not.
[0105]
If the content of the DLL does not exist on the memory 10, the control unit 11 moves the process to S302. If it already exists on the memory 10, the control unit 11 moves the process to S303.
[0106]
In S <b> 302, the control unit 11 reads the contents of the DLL corresponding to the DLL file name received as an argument from the external storage device 4 and writes it in the text area on the memory 10.
[0107]
In step S303, the control unit 11 calls a DLL corresponding to the DLL file name received as an argument (in this case, the input data check DLL (file name “WCHECKDD.DLL”)).
[0108]
When the input data check DLL is called in this way, the control unit 11 moves the process to S401.
In S401, the control unit 11 reads the item symbol (in this case, the item symbol “NM2114” of the employee number) from the memory area reserved for the argument.
[0109]
Then, the control unit 11 searches for the data item file by the item number “NM2114” of the employee number, and executes the data file search based on the item number “NM2114” of the employee number (in this embodiment, the file name of the DLL). The file name “WCHKNAME.DLL” of the data file search DLL described above is obtained (S402).
[0110]
The control unit 11 replaces “DLL” in “WCHKNAME.DLL”, which is the DLL file name obtained as described above, with “DSL”, thereby defining a memory area definition file for an argument to the DLL. Is determined as “WCHKNAME.DSL”. Then, the memory area securing DLL is called by using “WCHKNAME.DSL” as an argument (S403).
[0111]
When the memory area reservation DLL is called, the control unit 11 moves the process to S201.
In S <b> 201, the control unit 11 reads the contents of the file from the external storage device 4 based on the file name of the memory area definition file received as an argument (in this case, “WCHKNAME.DSL”).
[0112]
Then, the control unit 11 checks whether or not an area corresponding to the content of the file already exists on the heap area of the memory 10. If the area does not exist on the heap area of the memory 10, the control unit 11 moves the process to S203, and otherwise ends the process (S202).
[0113]
In S203, the control unit 11 secures an area on the heap area of the memory 10 based on the contents of the memory area definition file read in S201, and ends the process.
[0114]
When the processing of the memory area reservation DLL as described above is completed, the control unit 11 continues the processing of the input data check DLL from S404.
In S404, the control unit 11 receives the item symbol (in this case, “NM2114”) received as an argument and the input data (in this case, the numerical data of the input employee number). Are written in the memory area for the argument to the DLL file name obtained in S402 (in this case, “WCHKNAME.DLL”).
[0115]
Then, the control unit 11 calls the DLL call management routine using the DLL file name obtained in S402 (in this case, “WCHKNAME.DLL”) as an argument.
[0116]
When the DLL call management routine is called, the control unit 11 moves the process to S301.
In S301, the control unit 11 determines whether or not the content of the DLL corresponding to the DLL file name received as an argument (in this case, “WCHKNAME.DLL”) already exists in the text area on the memory 10. Check.
[0117]
If the content of the DLL does not exist on the memory 10, the control unit 11 moves the process to S302. If it already exists on the memory 10, the control unit 11 moves the process to S303.
[0118]
In S <b> 302, the control unit 11 reads the contents of the DLL corresponding to the DLL file name received as an argument from the external storage device 4 and writes it in the text area on the memory 10.
[0119]
In step S303, the control unit 11 calls a DLL corresponding to the DLL file name received as an argument (in this case, a data file search DLL (file name “WCHKNAME.DLL”)).
[0120]
When the data file search DLL is called in this way, the control unit 11 moves the process to S501.
In step S <b> 501, the control unit 11 reads “NM2114”, which is an item symbol of the employee number, and numerical data of the employee number from the memory area for the argument.
[0121]
Next, the control unit 11 searches the data file (in this embodiment, the file name is “DATA1.DAT”) with the numerical data of the employee number, and obtains the employee name corresponding to the employee number ( S502).
[0122]
Then, the control unit 11 writes the employee name data obtained as a result of the search in S502 into the screen data memory area using the employee name item symbol “NM2040” as an index (S503). And the control part 11 complete | finishes the process of data file search DLL.
[0123]
When returning from the data file search DLL, the control unit 11 continues the processing of the DLL call management routine from S304.
In S304, the control unit 11 releases the text area on the memory 10 occupied by the data file search DLL.
[0124]
Then, the control unit 11 returns from the DLL call management routine.
When returning from the DLL call management routine, the control unit 11 returns to the input data check DLL, but ends the process and returns.
[0125]
When returning from the input data check DLL, the control unit 11 continues the DLL call management routine from S304.
In S304, the control unit 11 releases the text area on the memory 10 occupied by the input data check DLL.
[0126]
Then, the control unit 11 returns from the DLL call management routine.
When returning from the DLL call management routine, the control unit 11 continues the processing of the employee database search program from S109.
[0127]
In S109, the control unit 11 reads the character string data of the employee name from the screen data memory area using the employee name item symbol “NM2040” as an index. Then, the character string data of the employee name is set in the character string property of the character string data editing component, and the employee name is displayed on the screen. And the control part 11 complete | finishes a process.
[0128]
As described above, the control unit 11 can execute the employee database search program.
<Description of functional blocks of this embodiment>
FIG. 23 is a conceptual diagram showing the embodiment described above in blocks for each function. 23, this computer system includes a data item management means 50, a program creation means 51, a program execution means 52, an argument delivery management means 53, a DLL call management means 54, an input data check means 55, a data The file access means 56 and the data holding means 57 are comprised.
[0129]
Next, each functional block in FIG. 21 will be described.
The data item management means 50 fulfills the same function as the external storage device 4.
[0130]
The program creation means 51 fulfills the same function as the control unit 11.
The program execution means 52 performs the same function as the control unit 11.
The argument delivery management unit 53 performs the same function as the function performed by the memory 10 and the control unit 11.
[0131]
The DLL call management unit 54 performs the same function as the function performed by the memory 10 and the control unit 11.
The input data check means 55 fulfills the same function as the control unit 11.
[0132]
The data file access unit 56 performs the same function as the control unit 11.
The data holding unit 57 performs the same function as the external storage device 4.
[0133]
Next, the operation of each functional block in FIG. 23 will be described.
The program creation means 51 receives data item data from the data item management means 50 and creates a program in accordance with an instruction from the programmer.
[0134]
The program execution unit 52 executes the program created by the program creation unit 51.
The argument delivery management means 53 receives an argument from the program execution means 52 and passes it to the input data check means 55. The argument delivery management unit 53 receives an argument from the input data check unit 55 and passes it to the data file access unit 56. The argument delivery management unit 53 receives a return value from the data access unit 56 and passes it to the program execution unit 52.
[0135]
The DLL call management unit 54 calls and executes the input data check unit 55 according to an instruction from the program execution unit 52, and the memory area on the memory 10 occupied by the input data check unit 55 after the execution of the data check unit 55 is completed. release. The DLL call management unit 54 calls and executes the data access unit 56 in accordance with an instruction from the input data check unit 55, and the memory area on the memory 10 occupied by the data access unit 56 after the execution of the data access unit 56 is completed. To release.
[0136]
The input data check means 55 searches the data item information of the data item management means 50 based on the data received from the program execution means 52 via the argument delivery management means 53, and obtains the information of the data file access means 56. Then, it instructs the data access means 56 via the DLL call management means 54 to search the data holding means 57 thereafter.
[0137]
The data access unit 56 searches the data holding unit 57 based on the data received from the input data check unit 55 via the argument delivery management unit 53. Then, the search result is returned to the program execution means 52 via the argument delivery management means 53.
[0138]
The data holding unit 57 holds data.
As described above, the creation and execution of the employee database search program is realized by the functional blocks of FIG.
[0139]
【The invention's effect】
As described above, according to the present invention, the memory area occupied by the DLL can be released without inputting a source program for releasing the memory area occupied by the DLL. Furthermore, the application program can be created without the programmer having to input the source program. Even if the programmer does not understand the structure and access method of the database, a program for searching the database can be created.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a computer system according to an embodiment of the present invention.
FIG. 2 is a flowchart showing a control process executed in the control unit of FIG.
FIG. 3 is a flowchart showing a control process executed in the control unit of FIG.
FIG. 4 is a flowchart showing a control process executed in the control unit of FIG.
FIG. 5 is an explanatory diagram of a screen displayed on the display device of FIG.
6 is an explanatory diagram of a screen displayed on the display device of FIG.
7 is an explanatory diagram of a screen displayed on the display device of FIG. 1. FIG.
8 is an explanatory diagram of a screen displayed on the display device of FIG. 1. FIG.
9 is an explanatory diagram of a screen displayed on the display device of FIG.
10 is an explanatory diagram of a screen displayed on the display device of FIG.
11 is an explanatory diagram of a screen displayed on the display device of FIG.
12 is an explanatory diagram of a screen displayed on the display device of FIG.
13 is an explanatory diagram of a screen displayed on the display device of FIG.
14 is an explanatory diagram of a screen displayed on the display device of FIG. 1;
FIG. 15 is an explanatory diagram of a screen displayed on the display device of FIG.
FIG. 16 is a flowchart showing a control process executed in the control unit of FIG. 1;
FIG. 17 is a flowchart showing control processing executed in the control unit of FIG. 1;
FIG. 18 is a flowchart showing a control process executed in the control unit of FIG.
FIG. 19 is a flowchart showing control processing executed in the control unit of FIG. 1;
FIG. 20 is a flowchart showing a control process executed in the control unit of FIG.
FIG. 21 is an explanatory diagram of a screen displayed on the display device of FIG.
22 is an explanatory diagram of a screen displayed on the display device of FIG. 1;
FIG. 23 is a functional block diagram showing creation and execution of an employee database search program.
[Explanation of symbols]
1 mouse
2 Keyboard
3 Display device
4 External storage device
8 Display controller
10 memory
11 Control unit
12 Control device

Claims (2)

表示装置に表示するデータを保持する表示メモリと、前記表示メモリに保持されているデータを前記表示装置に表示させる表示コントローラと、指示入力手段が接続されるインターフェースと、メモリと、外部記憶装置と、制御部とを有し、前記表示装置の表示画面にプログラム作成フォームを表示して、前記プログラム作成フォーム上に配置されたコンポーネント設定されたデータによって指定されるDLL(ダイナミックリンクライブラリ)を前記制御部に実行させる、そのようなプログラムを作成するビジュアルプログラミングシステムにおいて、前記制御部が、
前記指示入力手段からの指示入力に応答して、前記プログラム作成フォームを前記外部記憶装置から読み込んで前記表示メモリおよび表示コントローラを通じて前記表示装置に表示させる手段と、
データを設定するためのプロパティと前記プロパティにデータが入力されたときに呼び出されるDLL(ダイナミックリンクライブラリ)を設定するためのプロパティと前記データの属性を設定するためのプロパティとを含む、数値データ編集コンポーネントまたは文字データ編集コンポーネントを、前記指示入力手段からの指示入力に応答して、前記外部記憶装置から読み込んで前記表示メモリおよび表示コントローラを通じて前記表示装置の画面上の前記指示入力手段で指示された位置に表示させる手段と、
前記外部記憶装置上のデータベースからそのデータベースに含まれる各項目の少なくとも項目記号、項目名、およびデータ属性を読み込んで前記表示メモリおよび表示コントローラを通じて前記プログラム作成フォームの近傍に、前記少なくとも項目記号、項目名、およびデータ属性を示す画像を表示させる手段と、
前記少なくとも項目記号、項目名、およびデータ属性を示す画像が指示入力手段を通じて指示入力されたときに前記少なくとも項目記号、項目名、およびデータ属性に該当するデータを前記メモリに保存する手段と、
前記指示入力手段からの指示入力に応答して、指示入力された前記いずれかのコンポーネントの前記データの属性を設定するためのプロパティに対して、前記保存された少なくとも項目記号およびデータ属性に該当するデータを書き込む手段と、
前記コンポーネントの種類と前記プロパティに書き込まれた前記少なくとも項目記号およびデータ属性に該当するデータとからメモリ領域定義ファイルを作成して前記外部記憶装置に書き込む手段と、
前記指示入力手段からの指示入力に応答して、前記いずれかのコンポーネントのDLL(ダイナミックリンクライブラリ)を設定するためのプロパティに、前記データを設定するためのプロパティにデータが入力されたときに呼び出されるDLL(ダイナミックリンクライブラリ)を設定する手段と、
前記コンポーネントの前記データを設定するためのプロパティにデータが入力されたときに、当該コンポーネントの前記DLL(ダイナミックリンクライブラリ)を設定するためのプロパティに設定されたDLL(ダイナミックリンクライブラリ)前記制御部に実行させる、前記プログラムを生成する生成手段と、
生成されたプログラムが実行されたときに前DLL(ダイナミックリンクライブラリ)に対応するメモリ領域定義ファイルにしたがって前記少なくとも項目記号およびデータ属性を含む前記DLL(ダイナミックリンクライブラリ)に引き渡すデータの前記メモリ上の領域を確保する手段と、として機能するとともに、
生成されたプログラムを実行することにより、コンポーネントの前記データを設定するためのプロパティにデータが入力された時に当該コンポーネントのDLL(ダイナミックリンクライブラリ)を設定するためのプロパティに設定されたDLL(ダイナミックリンクライブラリ)を、前記メモリ上の領域を引き渡して実行することを特徴とするビジュアルプログラミングシステム。
A display memory for holding data to be displayed on a display device; a display controller for displaying data held in the display memory on the display device; an interface to which an instruction input means is connected; a memory; and an external storage device; , and a control unit, the display displays the program creation form on the display screen of the device, DLL is the data-to Therefore specified set on the component which is arranged on the programming form a (dynamic link library) In a visual programming system for creating such a program to be executed by the control unit, the control unit includes :
Means for reading the program creation form from the external storage device and displaying it on the display device through the display memory and a display controller in response to an instruction input from the instruction input means;
Numeric data editing including a property for setting data, a property for setting a DLL (dynamic link library) called when data is input to the property, and a property for setting the attribute of the data the component or character data editing component, in response to an instruction input from the instruction input means, indicated by the instruction input means on the screen of the display device through the display memory and the display controller reads from the front Kigaibu storage device Means for displaying in a position,
Read at least the item symbol, item name, and data attribute of each item included in the database from the database on the external storage device, and in the vicinity of the program creation form through the display memory and display controller, the at least item symbol and item Means for displaying an image showing a name and data attributes;
Means for storing, in the memory, data corresponding to at least the item symbol, item name, and data attribute when the image indicating the at least item symbol, item name, and data attribute is input through the instruction input unit;
Corresponding to at least the item symbol and data attribute stored for the property for setting the attribute of the data of any one of the components input in response to the instruction input from the instruction input means Means for writing data;
Means for creating a memory area definition file from the type of the component and the data corresponding to the at least item symbol and data attribute written in the property and writing the file to the external storage device;
Called when data is input to a property for setting a DLL (dynamic link library) of any one of the components in response to an instruction input from the instruction input unit. Means for setting up a dynamic link library (DLL) ,
When data is input to a property for setting the data of the component, a DLL (dynamic link library) set to a property for setting the DLL (dynamic link library) of the component is set to the control unit. is executed, and generating means for generating the program,
Wherein the data to pass before Symbol before Symbol DLL when generated program is executed the DLL containing at least Symbol and data attributes according to the memory region definition file corresponding to the (dynamic link library) (dynamic link library) It functions as a means to secure the area on the memory ,
By executing the previous SL generated program, DLL, which is set in the property for setting the DLL (dynamic link library) for the component when the data is input in the property for setting the data of the components ( A dynamic programming library is executed by handing over an area on the memory.
前記DLL(ダイナミックリンクライブラリ)を設定するためのプロパティには前記 LL(ダイナミックリンクライブラリ)のファイル名が設定されることを特徴とする請求項1に記載のビジュアルプログラミングシステム。Visual programming system according to claim 1 which is the property for setting the DLL (dynamic link library), characterized in that the file name of the D LL (dynamic link library) is set.
JP32422899A 1999-11-15 1999-11-15 Visual programming system Expired - Lifetime JP3801822B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32422899A JP3801822B2 (en) 1999-11-15 1999-11-15 Visual programming system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32422899A JP3801822B2 (en) 1999-11-15 1999-11-15 Visual programming system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP8261013A Division JPH10105403A (en) 1996-10-01 1996-10-01 Computer system, visual programming system and medium for recording program

Publications (2)

Publication Number Publication Date
JP2000112739A JP2000112739A (en) 2000-04-21
JP3801822B2 true JP3801822B2 (en) 2006-07-26

Family

ID=18163479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32422899A Expired - Lifetime JP3801822B2 (en) 1999-11-15 1999-11-15 Visual programming system

Country Status (1)

Country Link
JP (1) JP3801822B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002024020A (en) * 2000-05-01 2002-01-25 Toshiba Corp Screen control program, dynamic display information acquisition program, screen display transaction program, screen component interface program and screen program preparing method

Also Published As

Publication number Publication date
JP2000112739A (en) 2000-04-21

Similar Documents

Publication Publication Date Title
US8170901B2 (en) Extensible framework for designing workflows
US8719773B2 (en) Workflow data binding
US8370811B2 (en) Modularizing and aspectizing graphical user interface directed test scripts
US6049807A (en) Technique for maintaining object integrity during modification of a persistent store of objects
JP5260672B2 (en) Layout manager
US7594192B2 (en) Method and apparatus for identifying hotkey conflicts
US20060074735A1 (en) Ink-enabled workflow authoring
US20080015911A1 (en) Methods and apparatuses for developing business solutions
US20080235660A1 (en) Depicting Changes to Structures in an Integrated Development Environment
US8661356B2 (en) Time application having an intergrated check engine
US7451434B1 (en) Programming with shared objects in a shared memory
JPH10509266A (en) Management Interface for Database in Distributed Information Processing Environment
US11061897B2 (en) Materializable database objects in multitenant environments
WO2015042551A2 (en) Method and system for selection of user interface rendering artifacts in enterprise web applications using a manifest mechanism
CN113032273A (en) Application program debugging method and device, computer equipment and storage medium
EP3113016A1 (en) Tracing dependencies between development artifacts in a development project
JP3227066B2 (en) Program generation method using program parts
CN102855129A (en) Method and system for automatically creating isolated processes
JP3801822B2 (en) Visual programming system
US8521698B2 (en) Method for safeguarding the integrity of a relational database in case of structural transaction execution
Lerman et al. Programming entity framework: DbContext
Smyth Android Studio 3.0 Development Essentials-Android 8 Edition
Lawall et al. Automating program transformation with Coccinelle
JP7105683B2 (en) Electronic computer, method and program
JPH10105403A (en) Computer system, visual programming system and medium for recording program

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060116

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060426

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060412

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100512

Year of fee payment: 4

S303 Written request for registration of pledge or change of pledge

Free format text: JAPANESE INTERMEDIATE CODE: R316304

Free format text: JAPANESE INTERMEDIATE CODE: R316303

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100512

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100512

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S303 Written request for registration of pledge or change of pledge

Free format text: JAPANESE INTERMEDIATE CODE: R316314

S321 Written request for registration of change in pledge agreement

Free format text: JAPANESE INTERMEDIATE CODE: R316321

S343 Written request for registration of root pledge or change of root pledge

Free format text: JAPANESE INTERMEDIATE CODE: R316350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100512

Year of fee payment: 4

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100512

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S303 Written request for registration of pledge or change of pledge

Free format text: JAPANESE INTERMEDIATE CODE: R316314

S321 Written request for registration of change in pledge agreement

Free format text: JAPANESE INTERMEDIATE CODE: R316321

S343 Written request for registration of root pledge or change of root pledge

Free format text: JAPANESE INTERMEDIATE CODE: R316350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S303 Written request for registration of pledge or change of pledge

Free format text: JAPANESE INTERMEDIATE CODE: R316314

S321 Written request for registration of change in pledge agreement

Free format text: JAPANESE INTERMEDIATE CODE: R316321

S343 Written request for registration of root pledge or change of root pledge

Free format text: JAPANESE INTERMEDIATE CODE: R316350

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100512

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110512

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110512

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120512

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120512

Year of fee payment: 6

S803 Written request for registration of cancellation of provisional registration

Free format text: JAPANESE INTERMEDIATE CODE: R316805

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120512

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130512

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term