Programing

ファイルをドラッグアンドドロップ @Delphi

バーコードを読み込ませるため、
都度都度スキャナで読み込むのは、面倒なので、
保存済みの画像を、ドラッグ&ドロップ(以下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)違うのが、原因だろうか?

わからないけど、

ちょっとくらいのメモリー、ケチったたところで、
このご時世じゃ、なんちゃーないわえ!(なんでもない@高知弁(草

-

CentOS インストール実機 x SQLSERVER on Linux

オフィスの中に転がっているPCに、CentOSを入れようとしたが、
起動しなかったりと、面倒なので、
省スペース型PCに、インストールしてみることに。

 

ヤフオクで探してみると、HPのThin Clientが安売りされている。

https://page.auctions.yahoo.co.jp/jp/auction/l417363451

2010年ごろに発売された機体で、CPU1GHzと弱小だが、
Linuxを入れるには十分なスペック(だと思う)

※シンクライアント (Thin client) とは、ユーザーが使うクライアント端末に必要最小限の処理をさせ、ほとんどの処理をサーバ側に集中させたシステムアーキテクチャ全般のことを言う。

>> Thin Client @Wikipedia 

フラッシュメモリー(小容量のSSD)にWindowsが入っているが、
IDE HDDに交換して使える様子。
※普通の44pinのIDEケーブルのようだが、MB側オス/フラッシュメモリー側メスと反対になっているようで、変換ケーブルが要るらしい。(普通のIDEの仕様は、MB側メス/HDDメス)
>> 変換名人 2.5″IDE HDD接続ケーブル 44ピンIDE(メス-メス) IDE-44BB @Amazon

http://speedhelp.net/Bilder/ThinClient/HP/hp_t5730_new_5.jpg

オフィスに転がっている使わなくなったSSDがあるはずだが、
サブメイン機のSSDを入れ替えようと思って、
Amazon探してみたところ、2017年1月に購入済みとあり、
結局、入れ替えようと持ったが、そのまま忘れてしまっている様子・・・

現在、11480円となっているが、購入時は7480円!

 

サブメイン機のSSD入替えて、余ったSSDをこのシンクラに移植。

mSATAなので、44pinIDEに変換ケースで、接続。

 

参考

-