文字定数が破壊されているため、本現象が発生している可能性があります。
例えば、以下のようなコーディングを行うことで、文字定数は破壊されます。
共通関数名:Func01
パラメータ:なし
処理定義:
BLOCK
Func02( ' ' )
共通関数名:Func02
パラメータ:p1 ZCHAR 255
処理定義:
BLOCK
p1 := 'abcdefghijk'
文字定数は特殊な領域に配置されるため、一旦書き換えると、そのまま値が保持され続けます。また、上記コーディング例のように、小さな文字定数に対して、より大きな文字定数を代入すると、メモリ上で隣接する文字定数も破壊されます(文字定数''に対し、直接転記を行わずとも、破壊される可能性があります)。
上記内容を踏まえ、以下の観点で仕様ファイル(*.SPC)のご確認をお願いいたします。
・文字定数を関数のパラメータに指定し、関数内で文字定数の代入を行っている箇所が存在しないか
・文字定数を関数のパラメータに指定し、受け取ったパラメータをポインタとして扱い、ポインタ内容の書き換えを行っている箇所が存在しないか
・隣接する文字定数の内容破壊が発生するほどのサイズ差が生じるメモリ転記が存在しないか
【確認済みのバージョン】すべてのバージョン
【確認済みの対象OS】Windows
【カテゴリー】トラブルシューティング