ファイルをドラッグアンドドロップ @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)違うのが、原因だろうか?

わからないけど、

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

-

WordPressテーマ「twenty seventeen」の背景を透過表示させる

知り合いの貸しログハウスのWEBサイトを作ったのですが、

WordPress標準テンプレート「twenty seventeen」のヘッダー画像に、
ログハウスの写真を入れてみたところ、
思いの外、しっくり来ました。

 WordPressテーマ「twenty seventeen」の背景を透過表示

今まで、一度も使ったことがなかったのですが、
ページ1枚もので、ドーンと商品をアピールするには、良いテンプレートですネ!

しかし、残念なことに、スクロールすると、
ページトップにメニューが載っているだけの、
真っ白で、味気ないページになってしまいます。(背景色指定は可)

 

ということで、

背景にも、ヘッダー画像を表示

したら、かっこよくなるんじゃないかと思い、やってみました。

いろいろ探してみましたが、ドンピシャで解説してくれているページがなくて、
結局、透過させるCSSを参考に、自力で見つけたので、公開します。

 

まず、管理画面のテーマの「カスタマイズ」から、
「追加CSS」を選び、以下のCSSを追加します。

.site-content-contain {
background-color: rgba( 255, 255, 255, 0.70 );
}

.site-content .wrap {
background-color: rgba( 255, 255, 255, 0.70 );
}

上記を貼り付けて、「公開」すれば、背景が透過されます。

一応、解説

  • .site-content-contain
    メニューより下の領域のDIVタグのクラス
  • .site-content .wrap
    文章領域のDIVタグのクラス

を、それぞれrgbaで色指定。(aは、alphaの略だと思われる)
255, 255, 255=白が、それぞれ70%の濃さで表示させています。
※opacity という透過できる定義もありますが、
文字まで適応されるため、rgbaを使用
.site-content-containには、opacityでの指定でも良いかもしれません。

文章を記載した箇所と、またその背景とを、
ヘッダー画像の30%減、それの更に30%減で、2段階で透過させています。

文字を読むのに邪魔にならないけど、とてもいい感じになりました。

 WordPressテーマ「twenty seventeen」の背景を透過表示

 

冬のレジャーで、ひるがの辺りをうろうろすることがありますが、
お仕事の関係で、冬以外もひるがの辺りに行くこともありますが、
自然遊びを満喫でき、エアコンいらずの涼しさで、移住したくなるぐらい、とてもいいところです!

>> ひるがの高原にある貸しログハウス「山宿」

PS

ああ、今日は、お誕生日だったw

-