(57)【特許請求の範囲】
【請求項１】
表示装置に表示するデータを保持する表示メモリと、前記表示メモリに保持されているデータを前記表示装置に表示させる表示コントローラと、指示入力手段が接続されるインターフェースと、メモリと、外部記憶装置と、制御部とを有し、前記表示装置の表示画面にプログラム作成フォームを表示して、前記プログラム作成フォーム上に配置されたコンポーネントに設定されたデータによって指定されるＤＬＬ（ダイナミックリンクライブラリ）を前記制御部に実行させる、そのようなプログラムを作成するビジュアルプログラミングシステムにおいて、前記制御部が、
前記指示入力手段からの指示入力に応答して、前記プログラム作成フォームを前記外部記憶装置から読み込んで前記表示メモリおよび表示コントローラを通じて前記表示装置に表示させる手段と、
データを設定するためのプロパティと前記プロパティにデータが入力されたときに呼び出されるＤＬＬ（ダイナミックリンクライブラリ）を設定するためのプロパティと前記データの属性を設定するためのプロパティとを含む、数値データ編集コンポーネントまたは文字データ編集コンポーネントを、前記指示入力手段からの指示入力に応答して、前記外部記憶装置から読み込んで前記表示メモリおよび表示コントローラを通じて前記表示装置の画面上の前記指示入力手段で指示された位置に表示させる手段と、
前記外部記憶装置上のデータベースからそのデータベースに含まれる各項目の少なくとも項目記号、項目名、およびデータ属性を読み込んで前記表示メモリおよび表示コントローラを通じて前記プログラム作成フォームの近傍に、前記少なくとも項目記号、項目名、およびデータ属性を示す画像を表示させる手段と、
前記少なくとも項目記号、項目名、およびデータ属性を示す画像が指示入力手段を通じて指示入力されたときに前記少なくとも項目記号、項目名、およびデータ属性に該当するデータを前記メモリに保存する手段と、
前記指示入力手段からの指示入力に応答して、指示入力された前記いずれかのコンポーネントの前記データの属性を設定するためのプロパティに対して、前記保存された少なくとも項目記号およびデータ属性に該当するデータを書き込む手段と、
前記コンポーネントの種類と前記プロパティに書き込まれた前記少なくとも項目記号およびデータ属性に該当するデータとからメモリ領域定義ファイルを作成して前記外部記憶装置に書き込む手段と、
前記指示入力手段からの指示入力に応答して、前記いずれかのコンポーネントのＤＬＬ（ダイナミックリンクライブラリ）を設定するためのプロパティに、前記データを設定するためのプロパティにデータが入力されたときに呼び出されるＤＬＬ（ダイナミックリンクライブラリ）を設定する手段と、
前記コンポーネントの前記データを設定するためのプロパティにデータが入力されたときに、当該コンポーネントの前記ＤＬＬ（ダイナミックリンクライブラリ）を設定するためのプロパティに設定されたＤＬＬ（ダイナミックリンクライブラリ）を前記制御部に実行させる、前記プログラムを生成する生成手段と、
前記生成されたプログラムが実行されたときに前記ＤＬＬ（ダイナミックリンクライブラリ）に対応するメモリ領域定義ファイルにしたがって前記少なくとも項目記号およびデータ属性を含む前記ＤＬＬ（ダイナミックリンクライブラリ）に引き渡すデータの前記メモリ上の領域を確保する手段と、として機能するとともに、
前記生成されたプログラムを実行することにより、コンポーネントの前記データを設定するためのプロパティにデータが入力された時に当該コンポーネントのＤＬＬ（ダイナミックリンクライブラリ）を設定するためのプロパティに設定されたＤＬＬ（ダイナミックリンクライブラリ）を、前記メモリ上の領域を引き渡して実行することを特徴とするビジュアルプログラミングシステム。
【請求項２】
前記ＤＬＬ（ダイナミックリンクライブラリ）を設定するためのプロパティには前記ＤＬＬ（ダイナミックリンクライブラリ）のファイル名が設定されることを特徴とする請求項１に記載のビジュアルプログラミングシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータシステム及びビジュアルプログラミングシステム及びプログラムを記録した媒体に関するものである。
【０００２】
【従来の技術】
従来、種々のアプリケーションプログラムに共通する処理をサブルーチンとして作成することが行われている。このようなサブルーチンを作成し用意しておけば、各アプリケーションプログラムからこれらのサブルーチンを呼び出して実行するだけで所望の処理を実現することができるため、プログラム開発の重複労力を軽減することができる。このような重複労力軽減を徹底するためには、単一機能ごとにサブルーチンを作成することが望ましい。
【０００３】
更に、アプリケーションプログラム実行時における使用メモリ領域節約の観点から、上述のようなサブルーチンをダイナミックリンクライブラリ（以下「ＤＬＬ」という。）とすることも行われている。
【０００４】
また、プログラム実行時画面の容易な作成，熟練度の低いプログラマに対する容易なプログラム作成を可能とするために、ビジュアルプログラミング環境と呼ばれるものが開発されている。このビジュアルプログラミング環境の例としてマイクロソフト社製「Ｖｉｓｕａｌ  Ｂａｓｉｃ（商標）」，ボーランド社製「Ｄｅｌｐｈｉ（商標）」等がある。これらのビジュアルプログラミング環境におけるプログラム作成は、プログラム作成フォーム上に適宜コンポーネントを配置し、これらのコンポーネントのプロパティにデータを入力するとともに、イベントプロシージャ又はイベントハンドラ等にソースプログラムを入力することにより、行われる。
【０００５】
このようなビジュアルプログラミング環境は、データベースの検索・更新等を行うプログラムの作成にも広く利用されている。
【０００６】
【発明が解決しようとする課題】
しかし、従来のビジュアルプログラミング環境においてはアプリケーションプログラム作成が容易ではあるが、それでもなおソースプログラムの入力をしなければならなかった。この点を改善するために、上述のように共通処理をサブルーチン化して、イベントプロシージャ等からこれらのサブルーチンを呼び出すようにすることが考えられる。しかし、そのようにしても、サブルーチンを呼び出すためのソースプログラムを入力しなければならないことに変わりはない。
【０００７】
本発明の第１の課題は、このような従来技術の問題点に鑑み、プログラマがソースプログラムの入力をしなくてもアプリケーションプログラムを作成できるビジュアルプログラミングシステムを提供することである。
【０００８】
また、データベースの検索・更新等を行うプログラムを作成するためには、プログラマがデータベースの構造やアクセス方法を熟知していなければならなかった。
【０００９】
本発明の第２の課題は、このような従来技術の問題点に鑑み、プログラマがデータベースの構造やアクセス方法を理解していなくても、データベースの検索・更新等を行うプログラムを作成することができるビジュアルプログラミングシステムを提供することである。
【００１０】
【課題を解決するための手段】
本発明は前記課題を解決するために、以下の手段を採用した。すなわち、本発明は、表示装置に表示するデータを保持する表示メモリと、前記表示メモリに保持されているデータを前記表示装置に表示させる表示コントローラと、指示入力手段が接続されるインターフェースと、メモリと、外部記憶装置と、制御部とを有し、前記表示装置の表示画面にプログラム作成フォームを表示して、前記プログラム作成フォーム上に配置されたコンポーネントに設定されたデータによって指定されるＤＬＬを前記制御部に実行させる、そのようなプログラムを作成するビジュアルプログラミングシステムにおいて、前記制御部が、
前記指示入力手段からの指示入力に応答して、前記プログラム作成フォームを前記外部記憶装置から読み込んで前記表示メモリおよび表示コントローラを通じて前記表示装置に表示させる手段と、データを設定するためのプロパティと前記プロパティにデータが入力されたときに呼び出されるＤＬＬ（ダイナミックリンクライブラリ）を設定するためのプロパティと前記データの属性を設定するためのプロパティとを含む、数値データ編集コンポーネントまたは文字データ編集コンポーネントを、前記指示入力手段からの指示入力に応答して、前記外部記憶装置から読み込んで前記表示メモリおよび表示コントローラを通じて前記表示装置の画面上の前記指示入力手段で指示された位置に表示させる手段と、
前記外部記憶装置上のデータベースからそのデータベースに含まれる各項目の少なくとも項目記号、項目名、およびデータ属性を読み込んで前記表示メモリおよび表示コントローラを通じて前記プログラム作成フォームの近傍に、前記少なくとも項目記号、項目名、およびデータ属性を示す画像を表示させる手段と、前記少なくとも項目記号、項目名、およびデータ属性を示す画像が指示入力手段を通じて指示入力されたときに前記少なくとも項目記号、項目名、およびデータ属性に該当するデータを前記メモリに保存する手段と、
前記指示入力手段からの指示入力に応答して、指示入力された前記いずれかのコンポーネントの前記データの属性を設定するためのプロパティに対して、前記保存された少なくとも項目記号およびデータ属性に該当するデータを書き込む手段と、前記コンポーネントの種類と前記プロパティに書き込まれた前記少なくとも項目記号およびデータ属性に該当するデータとからメモリ領域定義ファイルを作成して前記外部記憶装置に書き込む手段と、前記指示入力手段からの指示入力に応答して、前記いずれかのコンポーネントのＤＬＬ（ダイナミックリンクライブラリ）を設定するためのプロパティに、前記データを設定するためのプロパティにデータが入力されたときに呼び出されるＤＬＬ（ダイナミックリンクライブラリ）を設定する手段と、前記コンポーネントの前記データを設定するためのプロパティにデータが入力されたときに、当該コンポーネントの前記ＤＬＬ（ダイナミックリンクライブラリ）を設定するためのプロパティに設定されたＤＬＬ（ダイナミックリンクライブラリ）を前記制御部に実行させる、前記プログラムを生成する生成手段と、前記生成されたプログラムが実行されたときに前記ＤＬＬ（ダイナミックリンクライブラリ）に対応するメモリ領域定義ファイルにしたがって前記少なくとも項目記号およびデータ属性を含む前記ＤＬＬ（ダイナミックリンクライブラリ）に引き渡すデータの前記メモリ上の領域を確保する手段と、として機能するとともに、前記生成されたプログラムを実行することにより、コンポーネントの前記データを設定するためのプロパティにデータが入力された時に当該コンポーネントのＤＬＬ（ダイナミックリンクライブラリ）を設定するためのプロパティに設定されたＤＬＬ（ダイナミックリンクライブラリ）を、前記メモリ上の領域を引き渡して実行することを特徴とするビジュアルプログラミングシステムである。
【００１１】
前記ＤＬＬ（ダイナミックリンクライブラリ）を設定するためのプロパティには前記ＤＬＬ（ダイナミックリンクライブラリ）のファイル名が設定されるようにしてもよい。
【００２０】
【発明の実施の形態】
以下、本発明の実施の形態を図１から図２３の図面に基いて説明する。
【００２１】
【実施形態】
図１は本発明の実施の形態によるコンピュータシステム及びビジュアルプログラミングシステムの構成を示したブロック図である。図１において、このコンピュータシステム及びビジュアルプログラミングシステムは、マウス１と、キーボード２と、表示装置３と、外部記憶手段４と、制御装置１２とから、構成されている。また、制御装置１２は、バスＢによって相互に接続されたマウスインタフェース５と、キーボードインタフェース６と、表示メモリ７と、表示装置コントローラ８と、外部記憶インタフェース９と、メモリ１０と、制御部１１とから、構成されている。
【００２２】
マウス１及びキーボード２は、オペレータが文字等のデータを入力するための入力装置である。
表示装置３は、マウス１及びキーボード２から入力されたデータ等を表示するＣＲＴである。尚、この表示装置３は、液晶ディスプレイであっても良い。
【００２３】
外部記憶装置４は、制御部１１が処理するプログラムや、データファイル等を記憶するハードディスクである。尚、この外部記憶装置４は光磁気ディスクであっても良い。この外部記憶装置４が、記憶手段及び媒体に相当する。
【００２４】
制御装置１２は、マウス１及びキーボード２から入力されたデータの処理、表示装置３に表示する画面データの処理、外部記憶装置４からのデータの読み込み処理、外部記憶装置４へのデータの書き込み処理を行う装置である。
【００２５】
マウスインタフェース５は、マウス１から入力された指示入力のデータをバスＢへ伝達する装置である。
キーボードインタフェース６は、キーボード２から入力された文字等のデータをバスＢへ伝達する装置である。
【００２６】
表示メモリ７は、表示装置３に表示する文字や画像等のデータを保持するためのメモリである。
表示装置コントローラ８は、表示メモリ７に保持されている文字や画像等のデータを表示装置３に表示させる処理を司る装置である。
【００２７】
外部記憶インタフェース９は、外部記憶装置４からのデータの読み込みや、外部記憶装置４へのデータの書き込みの処理を司る装置である。
メモリ１０は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、制御部１１が作業用に使用するメモリである。
【００２８】
制御部１１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等で構成され、表示装置コントローラ８、外部記憶インタフェース９に対して、それぞれ画面表示指示、外部記憶装置４へのデータ書き込み若しくは外部記憶装置４からのデータ読み込み指示を行う。また、制御部１１は、マウスインタフェース５を介してマウス１からの入力データを、キーボードインタフェース６を介してキーボード２からの入力データを、夫々受け取る。この制御部１１が、制御手段に相当する。
＜実施の形態の動作の説明＞
次に、本発明の実施の形態の動作について、社員データベースを検索するための社員データベース検索プログラムの作成及び実行を例にとって説明する。
【００２９】
以下に説明する社員データベースは、社員番号，社員名の２つの項目からなるものである。また、社員番号という項目名に対応させた文字列である”ＮＭ２１１４”という項目記号と、社員名という項目名に対応させた文字列である”ＮＭ２０４０”という項目記号との、２つの項目記号のデータが付加されている。
【００３０】
また、以下に作成しようとする社員データベース検索プログラムは、社員番号の数値データを入力することにより、その社員番号に対応する社員名を社員データベースのデータファイルから検索して、表示装置３に表示するためのプログラムである。
【００３１】
尚、社員データベースの検索を補助する処理を行うためのＤＬＬとして、入力データチェックＤＬＬ（このＤＬＬのファイル名を”ＷＣＨＥＣＫＤＤ．ＤＬＬ”とする。），データファイル検索ＤＬＬ（このＤＬＬのファイル名を”ＷＣＨＫＮＡＭＥ．ＤＬＬ”とする。）が用意されている。
【００３２】
入力データチェックＤＬＬは、入力データと、当該入力データに対応する項目記号とを、引数として受け取る。入力データチェックＤＬＬは、当該項目記号に基づいてデータ項目ファイルを参照する。その結果、入力データチェックＤＬＬは、当該入力データ及び当該項目記号に基づいてデータファイルを検索する処理を実行するＤＬＬのファイル名を得る。更に、入力データチェックＤＬＬは、当該ＤＬＬを呼び出して実行する。
【００３３】
データファイル検索ＤＬＬは、検索キーとなるデータと、当該データに対応する項目記号とを、引数として受け取る。データファイル検索ＤＬＬは、当該データと当該項目記号に基づいてデータファイルを検索する。
【００３４】
尚、各ＤＬＬへ引き渡す引数の引数名と、当該引数を書き込むために必要なメモリ領域（以下「ＤＬＬ引数メモリ領域」という。）とを定義するファイルとして、ＤＬＬ引数定義ファイルが各ＤＬＬ毎に用意されている。このＤＬＬ引数定義ファイルは、外部記憶装置４に記憶されている。上述した入力データチェックＤＬＬのために、ファイル名が”ＷＣＨＥＣＫＤＤ．ＤＳＬ”というＤＬＬ引数定義ファイルが用意されている。同様に、上述したデータファイル検索ＤＬＬのために、ファイル名が”ＷＣＨＫＮＡＭＥ．ＤＳＬ”というＤＬＬ引数定義ファイルが用意されている。このように、ＤＬＬと当該ＤＬＬのためのＤＬＬ引数定義ファイルとは、同一の文字列の末尾に夫々”ＤＬＬ”と”ＤＳＬ”を付加した文字列をファイル名としている。従って、ＤＬＬファイル名から、当該ＤＬＬのためのＤＬＬ引数定義ファイル名を決定することができる。同様に、ＤＬＬ引数定義ファイル名から、ＤＬＬファイル名を決定することができる。
【００３５】
更に、プログラムからＤＬＬを呼び出す際、或いはＤＬＬからＤＬＬを呼び出す際に引数を引き渡す処理を行うためのＤＬＬとして、メモリ領域確保ＤＬＬ（このＤＬＬのファイル名を”ＤＳＬ３２．ＤＬＬ”とする。）が用意されている。
【００３６】
メモリ領域確保ＤＬＬは、引数としてメモリ領域定義ファイルのファイル名を受け取る。そして、当該メモリ領域定義ファイルを外部記憶装置４から読み込む。そして、当該ファイルの内容に対応するメモリ領域が既にメモリ１０のヒープ領域上に存在するか否かをチェックする。そして、当該メモリ領域が存在しない場合には、当該ファイルの内容に基づいて、メモリ１０のヒープ領域上にメモリ領域を確保する。
【００３７】
次に、社員データベース検索プログラムの作成に際して用いるコンポーネントである、文字列表示コンポーネント，数値データ編集コンポーネント，文字列データ編集コンポーネント，メモリ領域制御コンポーネントについて、説明する。
【００３８】
文字列表示コンポーネントは、文字列データを設定するための文字列データプロパティを備えている。そして、文字列データプロパティに設定された文字列データに対応する文字列を表示する。
【００３９】
数値データ編集コンポーネントは、数値データを設定するための数値データプロパティと、当該数値データに対応する項目記号のデータを設定するための項目記号プロパティと、当該数値データプロパティに数値データが入力された際に呼び出され実行されるＤＬＬのファイル名を設定するためのＤＬＬファイル名プロパティと、当該ＤＬＬを実行するか否かを設定するためのＤＬＬ実行有効プロパティと、数値データのデータ型を設定するためのデータ型式プロパティと、数値データの桁数を設定するためのデータ桁数プロパティとを、備えている。
【００４０】
数値データ編集コンポーネントを配置したプログラムの実行時において、キーボード２等から入力される数値データや、プログラムの処理を実行した結果得られた数値データは、数値データプロパティに設定される。また、キーボード２等から入力される項目記号データや、プログラムの処理を実行した結果得られた項目記号データは、項目記号データプロパティに設定される。そして、数値データ編集コンポーネントは、数値データプロパティに設定された数値データに対応する数値を表示する。また、数値データプロパティにデータが入力された時に、ＤＬＬ実行有効プロパティの値が有効であれば、ＤＬＬファイル名プロパティに設定されたファイル名に相当するＤＬＬが呼び出され実行される。
【００４１】
文字列データ編集コンポーネントは、文字列データを設定するための文字列データプロパティと、当該文字列データに対応する項目記号のデータを設定するための項目記号プロパティと、当該文字列データプロパティに文字列データが入力された際に呼び出され実行されるＤＬＬのファイル名を設定するためのＤＬＬファイル名プロパティと、当該ＤＬＬを実行するか否かを設定するためのＤＬＬ実行有効プロパティと、文字列データのデータ型を設定するためのデータ型式プロパティと、文字列データのデータ桁数を設定するためのデータ桁数プロパティとを、備えている。
【００４２】
文字列データ編集コンポーネントを配置したプログラムの実行時において、キーボード２等から入力される文字列データや、プログラムの処理を実行した結果得られた文字列データは、文字列データプロパティに設定される。また、キーボード２等から入力される項目記号データや、プログラムの処理を実行した結果得られた項目記号データは、項目記号データプロパティに設定される。そして、数値データ編集コンポーネントは、数値データプロパティに設定された文字列データに対応する文字列を表示する。また、文字列データプロパティにデータが入力された時に、ＤＬＬ実行有効プロパティの値が有効であれば、ＤＬＬファイル名プロパティに設定されたファイル名に相当するＤＬＬが呼び出され実行される。
【００４３】
メモリ領域制御コンポーネントは、画面制御プロパティと、ＤＬＬ引数定義ファイル名プロパティとを、備えている。画面制御プロパティは、”Ｔｒｕｅ”又は”Ｆａｌｓｅ”という文字列を設定するためのプロパティである。ＤＬＬ引数定義ファイル名プロパティは、上述したＤＬＬ引数定義ファイルのファイル名を設定するためのプロパティである。
【００４４】
次に、メモリ領域制御コンポーネントの、プログラム作成時における動作について説明する。
プログラム作成時において画面制御プロパティの値が”Ｔｒｕｅ”に設定された場合、メモリ領域制御コンポーネントは、ＤＬＬ引数定義ファイル名プロパティの値如何に拘らず、プログラム作成フォーム上に配置された各編集コンポーネントの各データプロパティへ設定するためのデータを書き込むためのメモリ領域（以下「画面データ用メモリ領域」という。）を定義するファイル（以下「画面データ用メモリ領域定義ファイル」という。）を生成する。各ＤＬＬは、各種処理の結果得られたデータを、画面データ用メモリ領域の中の当該データの項目記号によりインデックスされる場所に書き込む。すると、プログラムは、画面データ用メモリ領域に書き込まれたデータを当該コンポーネントの当該項目記号に該当するデータプロパティに設定する。その結果、プログラム実行時画面における当該コンポーネントには、当該データが表示されることとなる。尚、画面制御プロパティの値が”Ｆａｌｓｅ”に設定された場合、メモリ領域制御コンポーネントは、画面データ用メモリ領域定義ファイルを生成しない。
【００４５】
次に、メモリ領域制御コンポーネントが配置されたプログラムが実行された時の動作について説明する。
画面制御プロパティの値が”Ｔｒｕｅ”である場合、メモリ領域制御コンポーネントが配置されたプログラムは、ＤＬＬ引数定義ファイル名プロパティの値如何に拘らず、上述のようにして生成した画面データ用メモリ領域定義ファイルの内容に従って、メモリ１０のヒープ領域上に画面データ用メモリ領域を確保する。
【００４６】
画面制御プロパティの値が”Ｆａｌｓｅ”である場合、メモリ領域制御コンポーネントが配置されたプログラムは、ＤＬＬ引数定義ファイル名プロパティに設定されたファイル名の内容に従って、ＤＬＬ引数メモリ領域をメモリ１０のヒープ領域上に確保する。
＜社員データベース検索プログラムの作成＞
次に、図２乃至図４のフローチャートによって、社員データベース検索プログラム作成のために制御部１１において実行される制御処理プログラムを説明する。
【００４７】
制御部１１は、マウス１又はキーボード２からの指示入力によって、図２乃至図４の処理を開始する。
まず、制御部１１は、プログラム作成フォームのデータを外部記憶装置４から読み込んで表示メモリ７に書き込む。それとともに、表示装置コントローラ８に対して、表示メモリ７の内容を表示装置３に表示するよう指示する（Ｓ００１）。
【００４８】
次に、制御部１１は、プログラム作成フォームにコンポーネントを配置する指示入力がなされた旨を通知するデータがマウス１又はキーボード２から来たか否かをチェックする。もしコンポーネントを配置する指示がなされた旨を通知するデータが来ていたら処理をＳ００３へ移し、そうでなければ処理をＳ００４へ移す（Ｓ００２）。
【００４９】
Ｓ００３において、制御部１１は、マウス１又はキーボード２から通知された指示データに従い、配置するよう指示されたコンポーネントのデータを外部記憶装置４から読み込む。そして、制御部１１は、表示装置３の表示画面におけるマウスカーソルの位置に当該コンポーネントの画像が表示されるように、当該コンポーネントの画像データを表示メモリ７に書き込み、処理をＳ００２へ戻す。尚、このマウスカーソルは、表示装置３の画面上において、マウス１からの入力指示によって定まる任意の位置に表示されている。
【００５０】
一方、Ｓ００２においてコンポーネントを配置する指示入力がなされた旨を通知するデータが来ていなかった場合、制御部１１は、コンポーネントの配置を終了する指示入力がなされた旨を通知するデータがマウス１又はキーボード２から来たか否かをチェックする。もしコンポーネントの配置を終了する指示入力がなされた旨を通知するデータが来たら、制御部１１は、処理をＳ００５へ移し、そうでなければ処理をＳ００２へ戻す。
【００５１】
コンポーネントの配置を終了する指示入力がなされた旨を通知するデータを受け取ると、制御部１１は、データ項目ファイルを外部記憶装置４から読み込む。そして、制御部１１は、データベースに含まれる各項目の項目記号，項目名，データ型式，データ桁数を示す画像を、プログラム作成フォームの画像の近傍に表示する（Ｓ００５）。
【００５２】
次に、制御部１１は、プログラム作成フォームに配置された各コンポーネントのプロパティ等の設定を終了する指示入力がなされた旨を通知するデータがマウス１又はキーボード２から来たか否かをチェックする。そして、制御部１１は、もしそのようなデータが来たら、処理をＳ０１８へ移し、そうでなければ処理をＳ００７へ移す（Ｓ００６）。
【００５３】
Ｓ００７において、制御部１１は、マウスボタンが押し下げられた旨を通知するデータがマウス１から来たか否かをチェックする。そして、制御部１１は、もしマウスボタンが押し下げられた旨を通知するデータが来たら処理をＳ００８へ移し、そうでなければ処理をＳ００６へ戻す。
【００５４】
マウスボタンが押し下げられた旨を通知するデータがマウス１から来たら、制御部１１は、表示装置３の表示画面上においてマウスカーソルがデータ項目ファイルの内容を表示した画像上にあるか否かをチェックし、もし当該画像上にあれば処理をＳ００９へ移し、そうでなければ処理をＳ００６へ戻す（Ｓ００８）。
【００５５】
Ｓ００９において、制御部１１は、データ項目ファイル中のデータのうち、表示装置３の表示画面上においてマウスカーソルがある行の項目記号，項目名，データ型式，データ桁数に対応するデータをメモリ１０に書き込む。
【００５６】
そして、制御部１１は、マウス１のマウスボタンが解放されるのを待つ（Ｓ０１０）。
マウス１のマウスボタンが解放されたら、制御部１１は、マウスカーソルがプログラム作成フォーム上に配置された何れかのコンポーネントの画像上にあるか否かを、チェックする。そして、制御部１１は、もしマウスカーソルが何れかのコンポーネントの画像上にあれば処理をＳ０１２へ移し、そうでなければ処理をＳ００６へ戻す（Ｓ０１１）。
【００５７】
Ｓ０１２において、制御部１１は、当該コンポーネントが文字列表示コンポーネントであるか否かをチェックし、当該コンポーネントが文字列表示コンポーネントであれば処理をＳ０１３へ移し、そうでなければ処理をＳ０１４へ移す。
【００５８】
マウスカーソルがあるコンポーネントが文字列表示コンポーネントであった場合、制御部１１は、Ｓ００９においてメモリ１０に書き込まれたデータのうち項目名に該当する文字列データを読み込む。そして、その文字列データを当該文字列表示コンポーネントの文字列プロパティに書き込んで、処理をＳ００６へ戻す（Ｓ０１３）。
【００５９】
一方、マウスカーソルがあるコンポーネントが文字列表示コンポーネントでなかった場合、制御部１１は、当該コンポーネントが数値データ編集コンポーネントであるか否かをチェックする。そして、当該コンポーネントが数値データ編集コンポーネントであれば処理をＳ０１５へ移し、そうでなければ処理をＳ０１６へ移す（Ｓ０１４）。
【００６０】
Ｓ０１５において、制御部１１は、Ｓ００９においてメモリ１０に書き込まれたデータのうちデータ型式，データ桁数，項目記号に該当するデータを読み込む。そして、制御部１１は、これらのデータを当該コンポーネントのデータ型式プロパティ，データ桁数プロパティ，項目記号プロパティに夫々書き込み、処理をＳ００６へ戻す。
【００６１】
一方、マウスカーソルがあるコンポーネントが数値データ編集コンポーネントでなかった場合、制御部１１は、当該コンポーネントが文字列データ編集コンポーネントであるか否かをチェックする。そして、当該コンポーネントが文字列データ編集コンポーネントであれば処理をＳ０１７へ移し、そうでなければ処理をＳ００６へ戻す（Ｓ０１６）。
【００６２】
Ｓ０１７において、制御部１１は、Ｓ００９においてメモリ１０に書き込まれたデータのうちデータ型式，データ桁数，項目記号に該当するデータを読み込む。そして、制御部１１は、これらのデータを当該コンポーネントのデータ型式プロパティ，データ桁数プロパティ，項目記号プロパティに夫々書き込み、処理をＳ００６へ戻す。
【００６３】
一方、Ｓ００６において各コンポーネントのプロパティ等の設定を終了する旨の通知がマウス１又はキーボード２から来ていた場合、制御部１１は、プログラムの作成の終了を指示する入力がなされた旨を通知するデータが来たか否かをチェックする。そして、制御部１１は、もしプログラムの作成の終了を指示する旨の通知が来ていたら処理をＳ０３１へ移し、そうでなければ処理をＳ０１９へ移す（Ｓ０１８）。
【００６４】
Ｓ０１９において、制御部１１は、マウスボタンがダブルクリックされた旨を通知するデータがマウス１から来たか否かをチェックする。そして、ダブルクリックされた旨を通知するデータが来ていたら処理をＳ０２０へ移し、そうでなければ処理をＳ０１８へ戻す。
【００６５】
ダブルクリックされた旨を通知するデータが来ていたら、制御部１１は、マウスカーソルがプログラム作成フォームに配置された何れかのコンポーネント上にあるか否かをチェックする。そして、制御部１１は、もしマウスカーソルが何れかのコンポーネント上にあれば処理をＳ０２１へ移し、そうでなければ処理をＳ０１８へ戻す（Ｓ０２０）。
【００６６】
Ｓ０２１において、制御部１１は、ダブルクリックされたコンポーネントが数値データ編集コンポーネント又は文字列データ編集コンポーネントの何れかであるか否かをチェックする。そして、制御部１１は、当該コンポーネントが数値データ編集コンポーネント又は文字列データ編集コンポーネントの何れかであれば処理をＳ０２８へ移し、そうでなければ処理をＳ０２２へ移す。
【００６７】
Ｓ０２２において、制御部１１は、当該コンポーネントがメモリ領域制御コンポーネントであるか否かを更にチェックする。そして、制御部１１は、もし当該コンポーネントがメモリ領域制御コンポーネントであれば処理をＳ０２３へ移し、そうでなければ処理をＳ０１８へ移す。
【００６８】
Ｓ０２３において、制御部１１は、当該コンポーネントの近傍にプロパティ設定ウインドウを表示する。
そして、制御部１１は、プロパティ設定ウインドウへのデータ入力が終了するのを待つ（Ｓ０２４）。
【００６９】
データ入力が終了したら、制御部１１は、まず画面制御プロパティ入力欄に入力されたデータが”Ｔｒｕｅ”であるか否かをチェックする。そして、制御部１１は、当該データが”Ｔｒｕｅ”であれば処理をＳ０２６へ移し、そうでなければ、処理をＳ０２７へ移す（Ｓ０２５）。
【００７０】
Ｓ０２６において、制御部１１は、プログラム作成フォームに配置された各編集コンポーネントの種類及びこれらのデータプロパティ，項目記号プロパティから画面データ用メモリ領域定義ファイルを作成して外部記憶装置４へ書き込む。本実施形態においては、この画面データ用メモリ領域定義ファイルのファイル名を”ＴＥＳＴ１．ＤＳＬ”とする。そして、制御部１１は、処理をＳ０１８へ戻す。
【００７１】
一方、画面制御プロパティ入力欄に入力されたデータが”Ｔｒｕｅ”でなかった場合、制御部１１は、ＤＬＬ引数定義ファイル名プロパティ入力欄に入力されたデータを当該プロパティに書き込んで処理をＳ０１８へ戻す（Ｓ０２７）。
【００７２】
また、ダブルクリックされたコンポーネントが数値データ編集コンポーネント又は文字列データ編集コンポーネントであるとＳ０２１において判断した場合、制御部１１は、当該コンポーネントの近傍にＤＬＬ設定ウインドウを表示する（Ｓ０２８）。
【００７３】
そして、制御部１１は、ＤＬＬ設定ウインドウへのデータ入力が終了するのを待つ（Ｓ０２９）。
データ入力が終了したら、制御部１１は、ＤＬＬ設定ウインドウへ入力されたデータを当該コンポーネントのプロパティに書き込んで、処理をＳ０１８へ戻す（Ｓ０３０）。
【００７４】
一方、Ｓ０１８においてプログラムの作成を終了する旨を通知するデータが来ていたら、制御部１１は、プログラム作成フォーム上に配置された各コンポーネント及びそれらのプロパティ等に基づいてプログラムを生成する（Ｓ０３０）。
【００７５】
このプログラム生成において、制御部１１は、プログラム作成フォーム上の各コンポーネントの配置等からプログラム実行時の画像データを生成する。また、制御部１１は、プログラム作成フォーム上に配置された数値データ編集コンポーネント，文字列データ編集コンポーネントにデータ入力がなされた際に当該コンポーネントのＤＬＬファイル名プロパティに設定されたＤＬＬを呼び出して実行するように、プログラムを生成する。更に、制御部１１は、プログラム作成フォーム上に配置されたメモリ領域制御コンポーネントに画面制御プロパティが”Ｔｒｕｅ”であるものがあれば、画面データ用メモリ領域に書き込まれたデータを各コンポーネントのプロパティに設定するように、プログラムを生成する。
【００７６】
そして、制御部１１は、このようにして得られたプログラムを外部記憶装置４に書き込む。尚、本実施形態においては、この社員データベース検索プログラムのファイル名を”ＴＥＳＴ１．ＥＸＥ”とする。
【００７７】
以上のようにして、制御部１１は、社員データベース検索プログラムを作成するための制御処理プログラムの実行を終了する。
＜社員データベース検索プログラムの作成手順＞
次に、図５乃至図１５によって、プログラマが社員データベース検索プログラムを作成するための手順及び画面表示例について説明する。
【００７８】
まず、プログラマがプログラムの作成を開始すべき旨の指示をマウス１又はキーボード２から入力すると、プログラム作成フォーム２２が表示装置３の表示画面２０に表示される。図５は、表示装置３の表示画面２０上に表示されたプログラム作成フォーム２２の初期表示画面である。この初期表示画面において、プログラマは、マウス１又はキーボード２からの指示入力によって、プログラム作成フォーム２２上に、文字列表示コンポーネント２３，２５、数値データ編集コンポーネント２４、文字列データ編集コンポーネント２６、メモリ領域確保コンポーネント２７，２８を夫々配置する（図６）。
【００７９】
次に、プログラマは、コンポーネントの配置を終了する旨の指示入力をマウス１又はキーボード２から行う。すると、データベース項目表示ウインドウ２９が表示装置３の表示画面２０上に表示される（図７）。プログラマは、マウス１を操作してマウスカーソル２１をデータベース項目表示ウインドウ２９上の項目名”社員番号”を含む行３０上に移動させる。そして、プログラマは、マウスボタンを押し下げる。更に、プログラマは、マウスボタンを押したままマウス１を操作して、マウスカーソル２１を文字列表示コンポーネント２３上に移動させ、マウスボタンから指を離す。プログラマがマウスボタンから指を離すと、文字列表示コンポーネント２３の文字列プロパティの値が”社員番号”に設定される。そして、文字列表示コンポーネント２３に文字列プロパティの値である”社員番号”の文字列が表示される（図８）。
【００８０】
プログラマは、マウス１を操作してマウスカーソル２１を再び行３０上に移動させる。そして、プログラマは、マウスボタンを押し下げる。更に、プログラマは、マウスボタンを押したままマウス１を操作して、マウスカーソル２１を数値データ編集コンポーネント２４上に移動させ、マウスボタンから指を離す（図９）。プログラマがマウスボタンから指を離すと、数値データ編集コンポーネント２４のデータ型プロパティ及びデータ桁数プロパティが変更される。
【００８１】
次に、プログラマは、マウス１を操作してマウスカーソル２１をデータベース項目表示ウインドウ２９上の項目名”社員名”を含む行３１上に移動させる。そして、プログラマは、マウスボタンを押し下げる（図１０）。更に、プログラマは、マウスボタンを押したままマウス１を操作して、マウスカーソル２１を文字列表示コンポーネント２５上に移動させ、マウスボタンから指を離す。プログラマがマウスボタンから指を離すと、文字列表示コンポーネント２５の文字列プロパティの値が”社員名”に設定される。そして、文字列表示コンポーネント２５に文字列プロパティの値である”社員名”の文字列が表示される（図１１）。
【００８２】
プログラマは、マウス１を操作してマウスカーソル２１を再び行３１上に移動させる。そして、プログラマは、マウスボタンを押し下げる。更に、プログラマは、マウスボタンを押したままマウス１を操作して、マウスカーソル２１を文字列データ編集コンポーネント２６上に移動させ、マウスボタンから指を放す（図１２）。プログラマがマウスボタンから指を離すと、文字列データ編集コンポーネント２６のデータ型プロパティ及びデータ桁数プロパティが変更される。
【００８３】
次に、プログラマは、マウスカーソル２１を数値データ編集コンポーネント２４上に移動させ、マウスボタンをダブルクリックする。すると、数値データ編集コンポーネント２４の近傍にＤＬＬ設定ウインドウ３２が表示される（図１３）。
【００８４】
プログラマは、ＤＬＬ設定ウインドウ３２中のＤＬＬファイル名プロパティ入力欄３３に、数値データ編集コンポーネント２４に数値データが入力された時に実行されるＤＬＬのファイル名を、入力する。本実施形態においては、先に説明した入力データチェックＤＬＬのファイル名である”ＷＣＨＥＣＫＤＤ．ＤＬＬ”を入力する。そして、数値データ編集コンポーネント２４に数値データが入力された時にＤＬＬを実際に実行する旨を、ＤＬＬ実行有効プロパティ入力欄３４をクリックすることにより設定する。以上の入力が終了したら、プログラマは、マウス１でＤＬＬ設定ウインドウ３２中のＯＫ欄３５をクリックする。尚、ＤＬＬファイル名プロパティ入力欄３３，ＤＬＬ実行有効プロパティ入力欄３４へ入力したデータをキャンセルする場合は、キャンセル欄３６をクリックする。
【００８５】
次に、プログラマは、マウスカーソル２１をメモリ領域制御コンポーネント２７上に移動させ、マウスボタンをダブルクリックする。すると、メモリ領域制御コンポーネント２７の近傍にプロパティ設定ウインドウ３７が表示される（図１４）。
【００８６】
プログラマは、メモリ領域制御コンポーネント２７を画面用メモリ領域制御用とすべく、プロパティ設定ウインドウ３７中の、画面用メモリ領域制御プロパティ入力欄３９に、”Ｔｒｕｅ”を入力し、ＯＫ欄４０をクリックする。
【００８７】
次に、プログラマは、マウスカーソル２１をメモリ領域制御コンポーネント２８上に移動させ、マウスボタンをダブルクリックする。すると、メモリ領域制御コンポーネント２８の近傍にプロパティ設定ウインドウ４２が表示される（図１５）。
【００８８】
プログラマは、メモリ領域制御コンポーネント２８をＤＬＬ引数メモリ領域制御用とすべく、プロパティ設定ウインドウ４２中のＤＬＬ引数定義ファイル名プロパティ入力欄４３に、先にＤＬＬ設定ウインドウ３２に設定したＤＬＬである入力データチェックＤＬＬへの引数を定義したファイルのファイル名である”ＷＣＨＥＣＫＤＤ．ＤＳＬ”を入力する。更に、プログラマは、画面用メモリ領域確保プロパティ４４に、”Ｆａｌｓｅ”を入力し、ＯＫ欄４５をクリックする。
【００８９】
このように、プログラマは、データベース項目表示ウインドウ２９から各コンポーネントのプロパティへ値を転送したり、ＤＬＬ設定ウインドウ３０及びプロパティ設定ウインドウ３７，４２にファイル名等を入力することにより、社員データベース検索プログラムを作成することができる。
＜社員データベース検索プログラムの実行＞
次に、上述のようにして作成された社員データベース検索プログラムを実行する際の制御部１１の動作について、説明する。
【００９０】
マウス１，キーボード２からの指示入力により社員データベース検索プログラムの実行指示がなされると、制御部１１は、図１６乃至図２０の処理を開始する。
【００９１】
制御部１１は、まず、社員データベース検索プログラムの初期画面を表示する（Ｓ１０１）。
次に、制御部１１は、メモリ領域確保ＤＬＬが、メモリ１０のテキスト領域に既に存在するか否かをチェックする。もし、メモリ領域確保ＤＬＬが既にメモリ１０上に存在すれば処理をＳ１０４へ移し、そうでなければ処理をＳ１０３へ移す（Ｓ１０２）。
【００９２】
Ｓ１０３において、制御部１１は、メモリ領域確保ＤＬＬを外部記憶装置４から読み込んで、メモリ１０のテキスト領域に書き込む。
Ｓ１０４において、制御部１１は、先に説明したように作成された社員データベース検索プログラムの画面データ用メモリ領域定義ファイルのファイル名である”ＴＥＳＴ１．ＤＳＬ”を引数としてメモリ領域確保ＤＬＬをコールする。尚、制御部１１は、このファイル名を、社員データベース検索プログラムのファイル名である”ＴＥＳＴ１．ＥＸＥ”の中の”ＥＸＥ”を”ＤＳＬ”に置き換えることにより、決定する。
【００９３】
メモリ領域確保ＤＬＬがコールされると、制御部１１は、処理をＳ２０１へ移す。
Ｓ２０１において、制御部１１は、引数として受け取ったメモリ領域定義ファイルのファイル名（今の場合は、”ＴＥＳＴ１．ＤＳＬ”である。）に基づいて、当該ファイルの内容を外部記憶装置４から読み込む。
【００９４】
そして、制御部１１は、当該ファイルの内容に対応する領域がメモリ１０のヒープ領域上に既に存在するか否かをチェックする。制御部１１は、もし当該領域がメモリ１０のヒープ領域上に存在しなければ処理をＳ２０３へ移し、そうでなければ処理を終了する（Ｓ２０２）。
【００９５】
Ｓ２０３において、制御部１１は、Ｓ２０１で読み込んだメモリ領域定義ファイルの内容に基づいてメモリ１０のヒープ領域上に領域を確保し、処理を終了する。
【００９６】
制御部１１は、以上のようなメモリ領域確保ＤＬＬの処理を終了すると、Ｓ１０５から社員データベース検索プログラムの処理を継続する。
Ｓ１０５において、制御部１１は、数値データ編集コンポーネントのＤＬＬファイル名プロパティの値である”ＷＣＨＥＣＫＤＤ．ＤＬＬ”の中の”ＤＬＬ”を”ＤＳＬ”と置き換えることにより、当該ＤＬＬの引数のためのメモリ領域定義ファイルのファイル名を”ＷＣＨＥＣＫＤＤ．ＤＳＬ”と決定する。そして、当該メモリ領域定義ファイル名の文字列である”ＷＣＨＥＣＫＤＤ．ＤＳＬ”の文字列データを引数として、メモリ領域確保ＤＬＬをコールする。
【００９７】
メモリ領域確保ＤＬＬがコールされると、制御部１１は、処理をＳ２０１へ移す。
Ｓ２０１において、制御部１１は、引数として受け取ったメモリ領域定義ファイルのファイル名（今の場合は、”ＷＣＨＥＣＫＤＤ．ＤＳＬ”である。）に基づいて、当該ファイルの内容を外部記憶装置４から読み込む。
【００９８】
そして、制御部１１は、当該ファイルの内容に対応する領域がメモリ１０のヒープ領域上に既に存在するか否かをチェックする。制御部１１は、もし当該領域がメモリ１０のヒープ領域上に存在しなければ処理をＳ２０３へ移し、そうでなければ処理を終了する（Ｓ２０２）。
【００９９】
Ｓ２０３において、制御部１１は、Ｓ２０１で読み込んだメモリ領域定義ファイルの内容に基づいてメモリ１０のヒープ領域上に領域を確保し、処理を終了する。
【０１００】
制御部１１は、以上のようなメモリ領域確保ＤＬＬの処理を終了すると、Ｓ１０６から社員データベース検索プログラムの処理を継続する。
Ｓ１０６において、制御部１１は、数値データ編集コンポーネントに社員番号の数値データが入力されるのを待つ。
【０１０１】
社員番号の数値データが入力されたら、制御部１１は、数値データ編集コンポーネントの項目記号プロパティに設定された文字列である”ＮＭ２１１４”の文字列データと当該社員番号の数値データを、入力データチェックＤＬＬへの引数のために確保されたメモリ１０上の領域に、書き込む（Ｓ１０７）。
【０１０２】
そして、制御部１１は、数値データ編集コンポーネントのＤＬＬファイル名プロパティに設定された”ＷＣＨＥＣＫＤＤ．ＤＬＬ”の文字列の文字列データを引数として、ＤＬＬ呼出管理ルーチンをコールする（Ｓ１０８）。
【０１０３】
ＤＬＬ呼出管理ルーチンは、コンパイル時にスタティックにリンクされるサブルーチンである。
ＤＬＬ呼出管理ルーチンがコールされると、制御部１１は、処理をＳ３０１へ移す。
【０１０４】
Ｓ３０１において、制御部１１は、Ｓ１０６からの引数として受け取ったＤＬＬファイル名（今の場合は、”ＷＣＨＥＣＫＤＤ．ＤＬＬ”である。）に相当するＤＬＬの内容が既にメモリ１０上のテキスト領域に存在するか否かをチェックする。
【０１０５】
もし、当該ＤＬＬの内容がメモリ１０上に存在しなければ、制御部１１は、処理をＳ３０２へ移す。もし、既にメモリ１０上に存在すれば、制御部１１は、処理をＳ３０３へ移す。
【０１０６】
Ｓ３０２において、制御部１１は、引数として受け取ったＤＬＬファイル名に相当するＤＬＬの内容を外部記憶装置４から読み込んでメモリ１０上のテキスト領域に書き込む。
【０１０７】
Ｓ３０３において、制御部１１は、引数として受け取ったＤＬＬファイル名に相当するＤＬＬ（今の場合は、入力データチェックＤＬＬ（ファイル名”ＷＣＨＥＣＫＤＤ．ＤＬＬ”）である。）をコールする。
【０１０８】
このようにして入力データチェックＤＬＬがコールされると、制御部１１は、処理をＳ４０１へ移す。
Ｓ４０１において、制御部１１は、引数のために確保されたメモリ領域から、項目記号（今の場合は、社員番号の項目記号”ＮＭ２１１４”である。）を読み出す。
【０１０９】
そして、制御部１１は、社員番号の項目記号”ＮＭ２１１４”によってデータ項目ファイルを検索し、社員番号の項目記号”ＮＭ２１１４”に基づいてデータファイル検索を実行するＤＬＬのファイル名（本実施形態においては、先に説明したデータファイル検索ＤＬＬのファイル名”ＷＣＨＫＮＡＭＥ．ＤＬＬ”である。）を得る（Ｓ４０２）。
【０１１０】
制御部１１は、上述のようにして得られたＤＬＬファイル名である”ＷＣＨＫＮＡＭＥ．ＤＬＬ”の中の”ＤＬＬ”を”ＤＳＬ”に置き換えることにより、当該ＤＬＬへの引数のためのメモリ領域定義ファイルのファイル名を”ＷＣＨＫＮＡＭＥ．ＤＳＬ”と決定する。そして、この”ＷＣＨＫＮＡＭＥ．ＤＳＬ”を引数として、メモリ領域確保ＤＬＬをコールする（Ｓ４０３）。
【０１１１】
メモリ領域確保ＤＬＬがコールされると、制御部１１は、処理をＳ２０１へ移す。
Ｓ２０１において、制御部１１は、引数として受け取ったメモリ領域定義ファイルのファイル名（今の場合は、”ＷＣＨＫＮＡＭＥ．ＤＳＬ”である。）に基づいて、当該ファイルの内容を外部記憶装置４から読み込む。
【０１１２】
そして、制御部１１は、当該ファイルの内容に対応する領域がメモリ１０のヒープ領域上に既に存在するか否かをチェックする。制御部１１は、もし当該領域がメモリ１０のヒープ領域上に存在しなければ処理をＳ２０３へ移し、そうでなければ処理を終了する（Ｓ２０２）。
【０１１３】
Ｓ２０３において、制御部１１は、Ｓ２０１で読み込んだメモリ領域定義ファイルの内容に基づいてメモリ１０のヒープ領域上に領域を確保し、処理を終了する。
【０１１４】
制御部１１は、以上のようなメモリ領域確保ＤＬＬの処理を終了すると、入力データチェックＤＬＬの処理をＳ４０４から継続する。
Ｓ４０４において、制御部１１は、引数として受け取った項目記号（今の場合は、”ＮＭ２１１４”である。）と、入力されたデータ（今の場合は入力された社員番号の数値データである。）とを、Ｓ４０２で得たＤＬＬファイル名（今の場合は”ＷＣＨＫＮＡＭＥ．ＤＬＬ”である。）への引数のためのメモリ領域に書き込む。
【０１１５】
そして、制御部１１は、Ｓ４０２で得たＤＬＬファイル名（今の場合は”ＷＣＨＫＮＡＭＥ．ＤＬＬ”である。）を引数として、ＤＬＬ呼出管理ルーチンをコールする。
【０１１６】
ＤＬＬ呼出管理ルーチンがコールされると、制御部１１は、処理をＳ３０１へ移す。
Ｓ３０１において、制御部１１は、引数として受け取ったＤＬＬファイル名（今の場合は、”ＷＣＨＫＮＡＭＥ．ＤＬＬ”である。）に相当するＤＬＬの内容が既にメモリ１０上のテキスト領域に存在するか否かをチェックする。
【０１１７】
もし、当該ＤＬＬの内容がメモリ１０上に存在しなければ、制御部１１は、処理をＳ３０２へ移す。もし、既にメモリ１０上に存在すれば、制御部１１は、処理をＳ３０３へ移す。
【０１１８】
Ｓ３０２において、制御部１１は、引数として受け取ったＤＬＬファイル名に相当するＤＬＬの内容を外部記憶装置４から読み込んでメモリ１０上のテキスト領域に書き込む。
【０１１９】
Ｓ３０３において、制御部１１は、引数として受け取ったＤＬＬファイル名に相当するＤＬＬ（今の場合は、データファイル検索ＤＬＬ（ファイル名”ＷＣＨＫＮＡＭＥ．ＤＬＬ”）である。）をコールする。
【０１２０】
このようにしてデータファイル検索ＤＬＬがコールされると、制御部１１は、処理をＳ５０１へ移す。
Ｓ５０１において、制御部１１は、引数のためのメモリ領域から、社員番号の項目記号である”ＮＭ２１１４”，社員番号の数値データを読み出す。
【０１２１】
次に、制御部１１は、データファイル（本実施形態においては、ファイル名を”ＤＡＴＡ１．ＤＡＴ”とする。）を社員番号の数値データによって検索し、当該社員番号に対応する社員名を得る（Ｓ５０２）。
【０１２２】
そして、制御部１１は、Ｓ５０２における検索の結果として得られた社員名のデータを、社員名の項目記号”ＮＭ２０４０”をインデックスとして、画面データ用メモリ領域に書き込む（Ｓ５０３）。そして、制御部１１は、データファイル検索ＤＬＬの処理を終了する。
【０１２３】
データファイル検索ＤＬＬからリターンすると、制御部１１は、ＤＬＬ呼出管理ルーチンの処理をＳ３０４から継続する。
Ｓ３０４において、制御部１１は、データファイル検索ＤＬＬが占有しているメモリ１０上のテキスト領域を解放する。
【０１２４】
そして、制御部１１は、ＤＬＬ呼出管理ルーチンからリターンする。
ＤＬＬ呼出管理ルーチンからリターンすると、制御部１１は、入力データチェックＤＬＬへ復帰するが、そのまま処理を終了してリターンする。
【０１２５】
入力データチェックＤＬＬからリターンすると、制御部１１は、ＤＬＬ呼出管理ルーチンの処理をＳ３０４から継続する。
Ｓ３０４において、制御部１１は、入力データチェックＤＬＬが占有しているメモリ１０上のテキスト領域を解放する。
【０１２６】
そして、制御部１１は、ＤＬＬ呼出管理ルーチンからリターンする。
ＤＬＬ呼出管理ルーチンからリターンすると、制御部１１は、社員データベース検索プログラムの処理をＳ１０９から継続する。
【０１２７】
Ｓ１０９において、制御部１１は、画面データ用メモリ領域から社員名の項目記号”ＮＭ２０４０”をインデックスとして社員名の文字列データを読み込む。そして、その社員名の文字列データを、文字列データ編集コンポーネントの文字列プロパティに設定し、社員名を画面に表示する。そして、制御部１１は、処理を終了する。
【０１２８】
以上のようにして、制御部１１は、社員データベース検索プログラムを実行することができる。
＜本実施形態の機能ブロックの説明＞
以上に説明した実施形態を、各機能毎のブロックで表した概念図が図２３である。図２３において、このコンピュータシステムは、データ項目管理手段５０と、プログラム作成手段５１と、プログラム実行手段５２と、引数受渡管理手段５３と、ＤＬＬ呼出管理手段５４と、入力データチェック手段５５と、データファイルアクセス手段５６と、データ保持手段５７とから構成されている。
【０１２９】
次に、図２１の各機能ブロックについて説明する。
データ項目管理手段５０は、外部記憶装置４と同一の機能を果たすものである。
【０１３０】
プログラム作成手段５１は、制御部１１と同一の機能を果たすものである。
プログラム実行手段５２は、制御部１１と同一の機能を果たすものである。
引数受渡管理手段５３は、メモリ１０と制御部１１とが果たす機能と同一の機能を果たすものである。
【０１３１】
ＤＬＬ呼出管理手段５４は、メモリ１０と制御部１１とが果たす機能と同一の機能を果たすものである。
入力データチェック手段５５は、制御部１１と同一の機能を果たすものである。
【０１３２】
データファイルアクセス手段５６は、制御部１１と同一の機能を果たすものである。
データ保持手段５７は、外部記憶装置４と同一の機能を果たすものである。
【０１３３】
次に、図２３の各機能ブロックの動作について説明する。
プログラム作成手段５１は、プログラマからの指示により、データ項目管理手段５０からデータ項目のデータを受け取って、プログラムを作成する。
【０１３４】
プログラム実行手段５２は、プログラム作成手段５１によって作成されたプログラムを実行する。
引数受渡管理手段５３は、プログラム実行手段５２から引数を受け取り、入力データチェック手段５５へ渡す。また、引数受渡管理手段５３は、入力データチェック手段５５から引数を受け取り、データファイルアクセス手段５６へ渡す。また、引数受渡管理手段５３は、データアクセス手段５６から戻り値を受け取り、プログラム実行手段５２へ渡す。
【０１３５】
ＤＬＬ呼出管理手段５４は、プログラム実行手段５２からの指示により、入力データチェック手段５５を呼び出して実行し、データチェック手段５５の実行終了後に入力データチェック手段５５が占有するメモリ１０上のメモリ領域を解放する。また、ＤＬＬ呼出管理手段５４は、入力データチェック手段５５からの指示により、データアクセス手段５６を呼び出して実行し、データアクセス手段５６の実行終了後にデータアクセス手段５６が占有するメモリ１０上のメモリ領域を解放する。
【０１３６】
入力データチェック手段５５は、引数受渡管理手段５３を介してプログラム実行手段５２から受け取ったデータによってデータ項目管理手段５０のデータ項目情報を検索し、データファイルアクセス手段５６の情報を得る。そして、その後データ保持手段５７を検索するように、ＤＬＬ呼出管理手段５４を介してデータアクセス手段５６に指示する。
【０１３７】
データアクセス手段５６は、引数受渡管理手段５３を介して入力データチェック手段５５から受け取ったデータによってデータ保持手段５７を検索する。そして、その検索結果を引数受渡管理手段５３を介してプログラム実行手段５２に戻す。
【０１３８】
データ保持手段５７は、データを保持する。
以上のようにして、社員データベース検索プログラムの作成及び実行は、図２３の機能ブロックによって実現される。
【０１３９】
【発明の効果】
以上説明したように、本発明によれば、ＤＬＬが占有していたメモリ領域を解放するためのソースプログラムを入力しなくても、ＤＬＬが占有していたメモリ領域を解放することができる。更に、プログラマがソースプログラムの入力をしなくても、アプリケーションプログラムを作成することができる。また、プログラマがデータベースの構造やアクセス方法を理解していなくても、データベース検索を行うプログラムを作成することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態によるコンピュータシステムの構成を示すブロック図
【図２】図１の制御部において実行される制御処理を示すフローチャート
【図３】図１の制御部において実行される制御処理を示すフローチャート
【図４】図１の制御部において実行される制御処理を示すフローチャート
【図５】図１の表示装置に表示される画面の説明図
【図６】図１の表示装置に表示される画面の説明図
【図７】図１の表示装置に表示される画面の説明図
【図８】図１の表示装置に表示される画面の説明図
【図９】図１の表示装置に表示される画面の説明図
【図１０】図１の表示装置に表示される画面の説明図
【図１１】図１の表示装置に表示される画面の説明図
【図１２】図１の表示装置に表示される画面の説明図
【図１３】図１の表示装置に表示される画面の説明図
【図１４】図１の表示装置に表示される画面の説明図
【図１５】図１の表示装置に表示される画面の説明図
【図１６】図１の制御部において実行される制御処理を示すフローチャート
【図１７】図１の制御部において実行される制御処理を示すフローチャート
【図１８】図１の制御部において実行される制御処理を示すフローチャート
【図１９】図１の制御部において実行される制御処理を示すフローチャート
【図２０】図１の制御部において実行される制御処理を示すフローチャート
【図２１】図１の表示装置に表示される画面の説明図
【図２２】図１の表示装置に表示される画面の説明図
【図２３】社員データベース検索プログラムの作成及び実行を示した機能ブロック図
【符号の説明】
１  マウス
２  キーボード
３  表示装置
４  外部記憶装置
８  表示装置コントローラ
１０  メモリ
１１  制御部
１２  制御装置
【図１】
0003801822.tif 000002
【図２】
0003801822.tif 000003
【図３】
0003801822.tif 000004
【図４】
0003801822.tif 000005
【図５】
0003801822.tif 000006
【図６】
0003801822.tif 000007
【図７】
0003801822.tif 000008
【図８】
0003801822.tif 000009
【図９】
0003801822.tif 000010
【図１０】
0003801822.tif 000011
【図１１】
0003801822.tif 000012
【図１２】
0003801822.tif 000013
【図１３】
0003801822.tif 000014
【図１４】
0003801822.tif 000015
【図１５】
0003801822.tif 000016
【図１６】
0003801822.tif 000017
【図１７】
0003801822.tif 000018
【図１８】
0003801822.tif 000019
【図１９】
0003801822.tif 000020
【図２０】
0003801822.tif 000021
【図２１】
0003801822.tif 000022
【図２２】
0003801822.tif 000023
【図２３】
0003801822.tif 000024