2026年6月11日 Lazarus 4.8 がリリースされました。バグフィックスリリースです。
同梱されているFree Pascalは 3.2.2 です。
Pascal 日和 ホームページ のLazarus関連の手順(Winodws)は Lazarus 4.x に対応しています。
2026年6月11日 Lazarus 4.8 がリリースされました。バグフィックスリリースです。
同梱されているFree Pascalは 3.2.2 です。
Pascal 日和 ホームページ のLazarus関連の手順(Winodws)は Lazarus 4.x に対応しています。
Pascal 日和 ホームページのObject Pascal 入門に「定数、型、変数の宣言」を追加しました。
Object Pascal (Free Pascal OBLFPCモード) の 定数、型、変数について基本的な宣言について説明しています。
Pascal 日和 ホームページのObject Pascal 備忘録に「アプリのマニフェストを設定する」を追加しました。
Windowsのマニフェスト(Manifest)をアプリに設定する方法と設定機能を確認するデモを紹介しています。
Pascal 日和 ホームページの「Object Pascal 備忘録」ページにダウンロードを追加しました。
crtdll.dll が _fmode_dll などのエントリが削除され、Free Pascalコンパイラに同梱されている古い32bitの「gcc.exe」が動作しなくなり、それを呼び出している「windres.exe」も動作しなくなったためにリソース(.rcファイル)のコンパイルができなくなりました。
ところが、本日(2026年4月15日)、Windows Updateで「2026-04 セキュリティ パッチ (KB5083769) (26200.8246)」を適用したところ、「crtdll.dll」がロールバックされて元に戻りました。非互換の問題が大きくて戻すことになったのでしょうか?
OK:Windowsバージョン:25H2 ビルド:26200.8039 – 「crtdll.dll」(サイズ:149,019)
NG:Windowsバージョン:25H2 ビルド:26200.8117 – 「crtdll.dll」(サイズ: 60,928)
OK:Windowsバージョン:25H2 ビルド:26200.8246 – 「crtdll.dll」(サイズ:149,019) <= 今回、元に戻った。
これにより、Free Pascal同梱の古い「gcc.exe」が再び動作するようになりました。
fpc コンパイラに「TDM-GCC」の「windres.exe」を呼び出すパラメータを付けたコマンドスクリプト[コマンドスクリプト(その2)]はそのまま継続使用可能です。
今回「crtdll.dll」が戻されましたが、今後再び同様なことが起きる可能性も否定できないので注意してください。
2026年2月25日 Lazarus 4.6 がリリースされました。バグフィックスリリースです。
同梱されているFree Pascalは 3.2.2 です。
Pascal 日和 ホームページ のLazarus関連の手順(Winodws)は Lazarus 4.x に対応しています。
「Object Pascal 備忘録」でWindowsリソースを使用する例を作成しましたが、Windows Update [2026-03 パッチ (KB5086672) (26200.8117)] ,を適用したところコンパイルがエラーになりました。エラーになったのはObject Pascalソース中に {$R VerInfo.rc} などリソーススクリプトを使用したもで、リソースのコンパイルがエラーとなりました。
「Pascal 日和 ホームページ」で対応を作成しましたので報告します。
【問題】
Windows Updateで 「crtdll.dll」(C Runtime Library)の内容が変更され「_fmode_dll」エントリなどが廃止されました。これにより古い「gcc.exe」などが例外が発生し実行できなくなり、「gcc.exe」を呼び出す「windres.exe」も実行できなくなりました。これはバグではなくそういう方針のようです。
Free Pascal 3.2.2に同梱の「gcc.exe」は古いのでこの問題に該当します。そのため、fpc コンパイラでリソーススクリプト(*.rc)のコンパイルができなくなりました。
私が確認したところ、Windows Update「2026-03 パッチ (KB5086672) (26200.8117)」適用から動作しなくなりました。
OK:Windowsバージョン:25H2 ビルド:26200.8039 – 「crtdll.dll」(サイズ:149,019)
NG:Windowsバージョン:25H2 ビルド:26200.8117 – 「crtdll.dll」(サイズ:: 60,928)
【対応】
「TDM-GCC」では、新しい「gcc.exe」が採用されているため「crtdll.dll」に依存せず Windows Update 適用後も「gcc.exe」が動作します。「windres.exe」も動作します。
そのため、 fpc コンパイラに「TDM-GCC」の「windres.exe」を呼び出すパラメータを付けたコマンドスクリプト[コマンドスクリプト(その2)]を作成しました。
{$Rxxx.rc} を設定しているプログラムのコンパイルは[コマンドスクリプト(その2)]を使用してください。リソーススクリプトがなくても使用できます。
事前に「TDM-GCC インストール」を実行してください。この手順でインストールされた環境を前提としています。
ダウンロードも追加しました。「Free Pascal関連ダウンロード」の[Free Pascal用のコマンドスクリプト(その2)]です。
※ 「crtdll.dll」はWindows 11 64bit版の場合「C:\Windows\SysWOW64\crtdll.dll」にあります。32bit DLLです。
「バージョン情報を設定する」をちょっとだけ修正しました。
バージョン情報リソースファイルの例 : VerInfo.rc について、
60行目を「FILETYPE VFT_APP」から「FILETYPE VER_FILETYPE」に修正しました。
38行目で「#define VER_FILETYPE VFT_APP」で定義されているためです。
元のままでも問題ありませんが機会があれば修正してください。
DLL用にするには38行目の「VFT_APP」を「VFT_DLL」にしてください。
「備忘録インデックス」のダウンロードファイルも「DM0004A.zip」から「DM0004B.zip」に更新しました。
Pascal 日和 ホームページ で公開しているサンプルコードおよび付随するスクリプトに関するライセンスについて「LICENSE(Unlicense)」ページを追加しました。
型付き定数に代入できなくする設定と、コンパイラが実数のリテラルや型指定のない定数に型を割り当てるときにすべてDouble型を選択する設定に対応するため、以下の修正を行いました。
・「Free Pascal メモ」メニューの「Object Pascal 備忘録」の各ページのプログラムにディレクティブ「{$J-}」と「{$MINFPCONSTPREC 64}」を追加しました。
「ひな型を用意する(EXE編)」と「ひな型を用意する(DLL編)」ページにディレクティブ「{$J-}」と「{$MINFPCONSTPREC 64}」の説明を追記しました。
・「Free Pascal メモ」メニューの「Object Pascal 備忘録」ページのダウンロードファイルにディレクティブ「{$J-}」と「{$MINFPCONSTPREC 64}を追加しました。
「DM0002.zip」を「DM0002A.zip」に差し替えました。
「DM0003.zip」を「DM0003A.zip」に差し替えました。
「DM0004.zip」を「DM0004A.zip」に差し替えました。
「DM0005.zip」を「DM0005A.zip」に差し替えました。
「DM0006.zip」を「DM0006A.zip」に差し替えました。
今年もよろしくお願いします。