掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
EAccessViolationエラーを解消するには? (ID:5636)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
はじめまして。 まだまだ、Delphi初心者なので困っています。 アドバイスをよろしくお願いします。 今、Image Obectsという画像処理ツールを使って、 フォーム上へ画像を表示させるプログラムを作って います。簡単なプログラムなのですが、IODisplayの 部分で、EAccessViolationエラーが発生してしまいます。 画像の読み込みまではできているようなのですが、 表示がうまくいきません。 以下にソースを示しますので、アドバイスをいただけたら と思います。よろしくお願いします。 unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, IOLib_TLB, OleAuto, StdCtrls, ExtDlgs, Ole2; type TForm1 = class(TForm) IODisplay1: TIODisplay; private { Private 宣言 } public { Public 宣言 } end; var Form1:TForm1; ImageA:Variant; //ファイルから読み込むための画像オブジェクト rc:Boolean; //オブジェクトの初期化成否フラッグ ioFileTypes:Variant; //ファイルの情報用オブジェクト SizeX, SizeY, SizeB:Integer;//画像ファイルのxy方向大きさ ioFile:Variant; //ファイルの入出力用オブジェクト implementation {$R *.DFM} begin //各オブジェクトの生成 //イメージオブジェクト ImageA:=CreateOleObject('IO.IOImage'); //ファイルタイプオブジェクト ioFileTypes:=CreateOleObject('IO.IOFileTypes'); //ファイルオブジェクト ioFile:=CreateOleObject('IO.IOFile'); //読み込みファイルの設定 ioFileTypes.NeedToRead('IOImage'); ioFile.filename:='C:\Temp\image.bmp'; //ファイルからイメージを読み込み rc:=ImageA.ReadFromFile(ioFile); if not rc then begin ShowMessage('ファイルの読み込み処理(ImageRead)に失敗しました。'); ImageA.Destroy; end else begin ShowMessage('読み込みまではできてます!'); //画像のxy大きさを取得 SizeX:=ImageA.Size(ioAxisX); SizeY:=ImageA.Size(ioAxisY); ShowMessage('SizeX='+ IntToStr(SizeX)); ShowMessage('SizeY='+ IntToStr(SizeY)); //画像のバンド幅(TrueColorか256階調かの判別)を取得 SizeB:=ImageA.Size(ioAxisB); ShowMessage('SizeB='+ IntToStr(SizeB)); end; //一度ディスプレイに表示 Form1.IODisplay1.Image:=ImageA; ImageA.Destroy; end.
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.