2026/02/04(水) [n年前の日記]
#1 [delphi][lazarus] スクリーンセーバーのラッパーをgithubにアップロードしておいた
Windows11 x64 25H2上で、Delphi 12、Lazarus 4.4 を使って、フルスクリーン表示する外部プログラムをWindows用スクリーンセーバとして呼び出せるようにするスクリーンセーバのラッパーを作成してみたので、githubにアップロードしておいた。
_mieki256/SSWrapDp (Delphiで作成した版)
_mieki256/SSWrapLz (Lazarusで作成した版)
ついでにC#で作った版も再掲(?)しておく。
_mieki256/CsSSWrap (C#で作成した版)
以前も似た動作をするスクリーンセーバのラッパーをHSPで作成したことはあるのだけど。
_mieki256/scrsavwr: Screensaver wrapper on Windows
HSP版と比べたら、GUIで指定できる分、まだ簡単に使えるのではないかなあ、と…。
_mieki256/SSWrapDp (Delphiで作成した版)
_mieki256/SSWrapLz (Lazarusで作成した版)
ついでにC#で作った版も再掲(?)しておく。
_mieki256/CsSSWrap (C#で作成した版)
以前も似た動作をするスクリーンセーバのラッパーをHSPで作成したことはあるのだけど。
_mieki256/scrsavwr: Screensaver wrapper on Windows
HSP版と比べたら、GUIで指定できる分、まだ簡単に使えるのではないかなあ、と…。
◎ 余談 :
スクリーンセーバという今では誰も使わないジャンルのプログラムを、Delphiという今ではほとんど使われてない開発環境で作成するという…。これってプログラミング的に二重苦なのでは?
でも仕方ない。「ひょっとしてこういうプログラムを作れるのではないかな」と思いついちゃったので。作れそうなら作ってみないと気分がスッキリしない…。
最初は C# で作ってみたけれど、生成されたexeが100MBを超えて、githubから「こんなファイルサイズ、アップロードさせねえぞ!」と怒られてしまって。
AI君(Google Gemini)に「Windows用のGUIアプリを作った時に生成exeが小さくなるプログラミング言語って無いのかねえ」と尋ねてみたら「だったらDelphiがオススメっスよ!」と言われて、「Delphiかあ…。触ったことないんだよなあ…。せっかくだからちょっと触れてみるか」と試用を始めてみたところ…。
生成されたexeはたったの数MB、コンパイル爆速、GUIのレイアウトデザインはめっちゃ簡単で、「これいいじゃん! スゴイ!」と感動して C#版とほぼ同じプログラムを作成してみたものの。
Delphiのお値段を調べてみたら何十万円もすると知り、「無償利用可能な Community Edition が今後消滅したらコンパイルすらできない状況に追い込まれるよなあ…」と怖くなってきて、オープンソースの Lazarus も試用してみる気分になってきて。
しかし Lazarus は Delphi ほど色々イイ感じに処理してくれるわけでもなく、「Delphi でやってたコレは、Lazarus はでどうやるんだ?」と何度かハマってこんなに時間がかかってしまった…。
でも仕方ない。「ひょっとしてこういうプログラムを作れるのではないかな」と思いついちゃったので。作れそうなら作ってみないと気分がスッキリしない…。
最初は C# で作ってみたけれど、生成されたexeが100MBを超えて、githubから「こんなファイルサイズ、アップロードさせねえぞ!」と怒られてしまって。
AI君(Google Gemini)に「Windows用のGUIアプリを作った時に生成exeが小さくなるプログラミング言語って無いのかねえ」と尋ねてみたら「だったらDelphiがオススメっスよ!」と言われて、「Delphiかあ…。触ったことないんだよなあ…。せっかくだからちょっと触れてみるか」と試用を始めてみたところ…。
生成されたexeはたったの数MB、コンパイル爆速、GUIのレイアウトデザインはめっちゃ簡単で、「これいいじゃん! スゴイ!」と感動して C#版とほぼ同じプログラムを作成してみたものの。
Delphiのお値段を調べてみたら何十万円もすると知り、「無償利用可能な Community Edition が今後消滅したらコンパイルすらできない状況に追い込まれるよなあ…」と怖くなってきて、オープンソースの Lazarus も試用してみる気分になってきて。
しかし Lazarus は Delphi ほど色々イイ感じに処理してくれるわけでもなく、「Delphi でやってたコレは、Lazarus はでどうやるんだ?」と何度かハマってこんなに時間がかかってしまった…。
◎ .NETって必要なのかな :
そもそも C# で作ったexeのファイルサイズが大き過ぎるのがいかんのや。
いやまあ、.NETのランタイムまで含めているからそのサイズになってしまうので、ランタイムを含めなければ数MBで収まるけれど。しかしその場合、動かしたい環境に .NETのランタイムを別途インストールしないといけない。そんなの面倒臭い。OSが最初から持っている機能を呼び出すだけで同じことができるならそれでいいじゃん…。.NETって本当に必要なの…?
でも、その昔、Visual Basic でアプリを作成していた頃も、Visual Basic のランタイムを別途インストールするのは当たり前だったよな…。そう考えると、.NET のランタイムをそれぞれインストールしてくださいとユーザ(?)にお願いするのも、実はさほどおかしなことではないのかもしれない…?
いやまあ、.NETのランタイムまで含めているからそのサイズになってしまうので、ランタイムを含めなければ数MBで収まるけれど。しかしその場合、動かしたい環境に .NETのランタイムを別途インストールしないといけない。そんなの面倒臭い。OSが最初から持っている機能を呼び出すだけで同じことができるならそれでいいじゃん…。.NETって本当に必要なの…?
でも、その昔、Visual Basic でアプリを作成していた頃も、Visual Basic のランタイムを別途インストールするのは当たり前だったよな…。そう考えると、.NET のランタイムをそれぞれインストールしてくださいとユーザ(?)にお願いするのも、実はさほどおかしなことではないのかもしれない…?
[ ツッコむ ]
以上です。