プロが教えるわが家の防犯対策術!

DELPHI 5(英語版)でコンパイルできたソースが、DELPHI 6(personal、無償版、日本語版)でコンパイルをしようとするとエラーが出てコンパイルできません。一般的に、5から6へ移行する際に注意することがありますでしょうか?あるいは、英語版と日本語版で異なるという可能性はありますでしょうか?

ソースの一部は以下の通りです。

**********
IMPLEMENTATION

USES Windows, Messages, Dialogs, FileCtrl;

CONST BUFLEN = 10240;
FindSortMax = 1024;
SHIFT_RECHTS = 1; (* Flags f・ Sondertasten *)
SHIFT_LINKS = 2; (* Flags f・ Sondertasten *)
CTRL = 4; (* Flags f・ Sondertasten *)
ALT = 8; (* Flags f・ Sondertasten *)
SCROLL = 16; (* Flags f・ Sondertasten *)
NUM_LOCK = 32; (* Flags f・ Sondertasten *)
CAPS_LOCK = 64; (* Flags f・ Sondertasten *)

TYPE BufAr = ARRAY [1..BUFLEN] OF BYTE;
TextFiles = RECORD
open : BOOLEAN;
Name : STRING[255];
buffer : ^BufAr;
END;
Zeichen = RECORD C : CHAR; A : BYTE; END;
Screen = ARRAY [1..25] OF ARRAY [1..80] OF Zeichen;
(* Entspricht der EGA/VGA Bildschirmstruktur *)

VAR TF : ARRAY[1..MAXFILES] OF TextFiles;
i : INTEGER;
VGA : Screen ABSOLUTE $0B800; (* VGA-Screen-Adresse *)
sommerzeit : BOOLEAN;
stmp : STRING;
FindSortNr : INTEGER;
FindSortP : INTEGER;
FindSortRecs: ARRAY[1..FindSortMax] OF ^TSearchRec;
ActTextForeGround, ActTextBackGround : BYTE;

**********

エラーは、「VGA : Screen ABSOLUTE $0B800; (* VGA-Screen-Adresse *)」の行にて、
 [エラー] Alib.pas(605): 変数名が必要です
と言うエラーが出ます。

他人からもらったソースの為、問題を簡略化して示すことができないのですが、もし上記の情報だけで何かしら問題点があるようでしたらお教えいただければ幸いです。

A 回答 (1件)

D5のソースをそのままD6では通らないものはあります。


VCLのファイルが分割、移動、追加されたようですね。
定義を見るとなんだかDOSレベルかドライバのような記述に見えますが,
USESに書いてあるD5のpasファイルに関連しそうな定義がどのような表記になっているのか探してはどうでしょう。

ABSOLUTE $0B800
を除いてコンパイルしてみてはどうでしょうか。
ABSOLUTE の記述が変わったのかもしれませんがコンパイルスイッチで
引っかかっているかもしれません。
またD6のHELPに何か載っているかもしれません。

私は何かあると困るので必ずVCLソース付きを購入していますが、このような場合はソースを確認しています。
また
http://www.torry.net/
でVCLソースを落としてD5とD6の違いを見てみてはいかがでしょう。
なにか判るかもしれません。
    • good
    • 0
この回答へのお礼

ABSOLUTE $0B800
を除いてコンパイルしたところ、ひとまずこのエラーは消えました。
ありがとうございました。

お礼日時:2007/03/14 20:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!