バーコードを読み込ませるため、
都度都度スキャナで読み込むのは、面倒なので、
保存済みの画像を、ドラッグ&ドロップ(以下D&D)で、
処理できるようにした。
そのような、サンプルソースは、たくさんあるので、
今回は、これらを元に、実装した。
たしか、コンポーネントもあったはずだけど。
いずれも同じコードなので、詳細は、上記を見てもらうとして、
D&Dすると、エラーが出る・・・・
最小限の単独アプリにしても、エラーが出る。
具体的には、メモリーのアクセス違反になる。
※環境は、10.2 Tokyoが出ているにもかかわらず、XE2 !!(笑
***
エラー箇所は、D&Dした直後ではなく、画像を読取った後、
別のコンポーネントにAssignする時など、いつも同じ箇所で起きるわけでもなく、
手を変え品を変え、いろいろやってみたけど、まさかと思ったこのコード↓
//pFilenameに上で得たサイズ分のメモリを確保 pFilename := AllocMem(DropCount);
このPcharに動的に領域を割り当てようとする、この手続きだけど、
まさかと思ったけど、まさかだった!!
pFileName: PChar;
の宣言を、
pFileName: Array[0..MAX_PATH] of Char; // 固定長 = 260
に。
当然、動的に確保するAllocMem・FreeMemの手続きは、削除した結果、
エラーが、一切出ない!!
治った・・・?!
Unicode体系になったからだろうか?
文字の長さ(=byte)違うのが、原因だろうか?
わからないけど、
ちょっとくらいのメモリー、ケチったたところで、
このご時世じゃ、なんちゃーないわえ!(なんでもない@高知弁(草
ファイルをドラッグアンドドロップ @Delphi