WR2.0] Delphi6で 警告

HOME › フォーラム › 旧サポート掲示板 › WR2.0] Delphi6で 警告

  • このトピックは空です。
6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • 投稿者
    投稿
  • #1923
    宇佐美
    ゲスト

    Win95からWin-Xpへのマシン交換のため、Delphi6でコンパイルしたところ 定数式が範囲を超えました という警告が出てexeフィルはできるのですが、ボーダーの色の指定が反映されず枠つき、bmp画像つきで印字されてしまいます

    ソースの一部を下記に記しますのでアドバイスをお願いします

    //枠線をセット
    FillChar(wrObjectProperty,sizeof(sizeof(wrObjectProperty)),0);
    if WRPMode=WRP_MDPREVIEW then wrObjectProperty.rgbBorderColor:=WOP_BCMAGENTA
    else wrObjectProperty.rgbBorderColor:=WOP_TRANSPARENT; //印刷時は枠線をなくす

    if wrSetObjectProp(hReport,PChar(WRField),WON_BORDERCOLOR,@wrObjectProperty)=0 then begin
    if NoWRFieldCheck then {エラーを無視する}

    //伝票取り込みイメージの表示・非表示をセット
    FillChar(wrObjectProperty,sizeof(sizeof(wrObjectProperty)),0);
    wrObjectProperty.fVisible:=Ord(WRPMode=WRP_MDPREVIEW);
    if wrSetObjectProp(hReport,’伝票取込イメージ’,WON_VISIBLE,@wrObjectProperty)=0 then
    if NoWRFieldCheck then {エラーを無視する}

    #1924
    松嶋@ソフトウィング
    ゲスト

    お世話になります。

    『定数式が範囲を超えました』が発生する箇所は特定できま
    すか?特定できる場合は大変お手数ですが、発生箇所のソー
    スをお知らせ頂けないでしょうか?

    以上です。宜しくお願い致します。

    #1925
    宇佐美
    ゲスト

    記の行で警告が出ています
    よろしくお願いします

    else wrObjectProperty.rgbBorderColor:=WOP_TRANSPARENT; //印刷時は枠線をなくす

    #1926
    宇佐美
    ゲスト

    下記のように WORD(WOP_TRANSPARENT)と型変換すると警告は出なくなりましたが、フォームのプロパティの変更が反映されていません
    (Delphi4でのコンパイルではプロパティへの変更が反映されています)

    Delphi5以降の何かしらの変更が影響しているのでしょうか?

    wrObjectProperty.rgbBorderColor:=WORD(WOP_TRANSPARENT); //印刷時は枠線をなくす

    #1927
    松嶋@ソフトウィング
    ゲスト

    お世話になります。

    その後、調査したところv4とv6では構造体のパディングが異
    なっている事がわかりました。つきましては、プロパティ設
    定用の構造体宣言を以下の様に変更してご利用頂けないでし
    ょうか?

    ○構造体宣言
    ※構造体名は変更してあります。
    WROBJPROPERTYDP5= packed record
     szName : array[0.. WR_OBJNAMESIZE-1] of Char ;
     cRes0 :char ; {予約}
     fGroupFlag : Integer; {グループ化フラグ(TRUE/FALSE)}
     dm1,dm2:char;
     dbxStart : Double; {開始位置X[論理ユニット]}
     dbyStart : Double; {開始位置Y[論理ユニット]}
     dbxEnd : Double; {終了位置X[論理ユニット]}
     dbyEnd : Double; {終了位置Y[論理ユニット]}
     lpszText : Pointer; {ソーステキストへのポインタ(NULL指定時は無視)}
     szFontName :array[0..LF_FACESIZE-1] of Char ; {フォントフェイス名}
     dbFontSize : Double; {フォントサイズ[ポイント]}
     wFontAttr : Longword; {フォント属性}
     dbCharacterPitch : Double; {文字間ピッチ[論理ユニット]}
     dbLinePitch : Double; {行間ピッチ[論理ユニット]}
     wOrientation : Cardinal; {テキスト展開方法}
     wMultipleLine : Cardinal; {マルチライン 0:単一行 1:複数行}
     wTextLayout : Cardinal; {テキスト配置}
     wStatic : Cardinal; {テキスト固定属性}
     rgbTextColor : LongInt; {文字色}
     rgbBackColor : LongInt; {背景色}
     wBorderStyle : Cardinal; {境界線種}
     BorderWidth : Integer; {境界線幅}
     rgbBorderColor : LongInt; {境界線色}

     fVisible : Integer; {表示/非表示}
     lpszImageFileName : Pointer; {イメージファイル名へのポインタ}
     wImageQuality : Cardinal; {イメージ描画品質[ドット/インチ]}
     wImageScalingMode : Cardinal; {スケーリングモード}
     lpDIBBuffer : Pointer; {DIBバッファ領域へのポインタ}
     dbxRoundSize : Double; {ボックスの角丸めXサイズ[論理ユニット]}
     dbyRoundSize : Double; {ボックスの角丸めYサイズ[論理ユニット]}
     wMeshKind : Cardinal; {網掛け種別}
     rgbMeshColor : LongInt; {網掛け色}
    end;

    ※上記宣言の変更で同様なメッセージが表示される場合は
     rgbBorderColorの宣言をLongWordへ変更し、確認してを
     お願い致します。

    以上です。宜しくお願い致します。

    #1928
    宇佐美
    ゲスト

    お世話になります

    無事プロパティの変更が反映されました

    尚、rgbBorderColor : LongInt; {境界線色} のままで警告は出ませんでした

    本当にありがとうございました

6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • フォーラム「旧サポート掲示板」には新規投稿および返信を追加できません。