Tips

Removing legacy resources from a 4th Dimension database structure (MacOS)

日付2000/01/14
ID00-205
バージョン
プラットフォーム

古いバージョン(v3.5.4/1.5.4またはこれらより古いもの)の4Dデータベースを自動的にv6.0/6.5用に変換したデータベースには、ストラクチャファイルのリソースフォークに不要なコードが残っている可能性があります。これらのコードは問題の原因となるかもしれません。

例えば、画面上では正しく見えるフォームでも印刷すると白紙になってしまったり、コンパイルする際にエラーとして報告されたりする場合があります。もしストラクチャに組み込むタイプの外部ルーチンを使っていて、変換する前にその削除に失敗した場合はこの問題を抱えることになります。ここではそのような問題が起こった時にとることのできる対応について解説します。

まず大事なことは、4Dのストラクチャファイルの中にはなくてはならないリソースがあるということです。後で述べる作業を行った場合、必要なリソースまで削除してしまう可能性があります。ということで、かならず次のルール1に従うようにしてください。

ルール1:絶対にオリジナルのデータベースをResEditで開いてはいけません。必ずコピーをとること。

以下の指示に従って問題点を解決できれば、必要なリソースを置き換えたり、元に戻って問題点を絞り込むこともできます。特定のリソースが悪いと分かればデータベースからそのリソースだけを取り除けばよいのです。この世にコンピュータユーザは2種類しかいません。データを失った人と、これから失う人です。ですから次のルール2を守りましょう。

ルール2:ルール1を必ず見ること。

ここから作業の説明をします。

Step 1:

まず、ResEditを入手する必要があります。アップル社のホームページからダウンロードすることができます。
Read Meは読んでおきましょう。

Step 2:

4Dを起動して、新規ストラクチャを作成します。4Dを終了する前にデータベースを作成した場所を覚えておきましょう。

Step 3:

検査するストラクチャをResEditで開きます。



Step 4:

「Edit」メニューの「Select All」を選択し、すべてのリソースを選択します。



Step 5:

「Edit」メニューの「Clear」を選択して、すべてのリソースを削除します。

Step 6:

Step 2で作成したストラクチャファイルをResEditで開きます。

Step 7:

「Edit」メニューの「Select All」を選択し、デフォルトで作成される二つのリソースを選択します。

Step 8:

「Edit」メニューの「Copy」を選択して、選択したリソースをクリップボードにコピーします。

Step 9:

コピーしたストラクチャのウィンドウを閉じ、検査するストラクチャのウィンドウを最前面に出します。(Step 5ですべてのリソースをクリアしたウィンドウです。)

Step 10:

「Edit」メニューの「Paste」を選択して、先ほどコピーしたデフォルトのリソースを検査するストラクチャにペーストします。

Step 11:

ResEditを終了し、保存するか確認さらたら「Yes」をクリックします。

検査したデータベースを動かし、問題が解決されたかを確認します。問題が解決されていれば、必要なリソースを加えていくことができます。解決されていなければ、バックアップコピーに戻り、デバッグを続けることになります。