サンプルの xmlstreaming を参考にして設定を書き出す処理を作ってます。
TComponent を継承して設定データのクラスを作ろうとしているんだけど、
その中にさらに TComponent 派生クラスを入れ子にすると、その項目が書き出されない。
入れ子のクラスを TPersistent 派生にすると書き出されるんだけど、項目名が
ドットで区切られた形でかなり違和感。
xmlstreaming の中でコメントアウトされている Form (Self) を書き出す処理を有効にしてみると、
入れ子のデータは「children」タグに囲われていい感じで出力されているんだけど、
どうやればできるんでしょうか?
【Delphi互換!?】FreePascal/Lazarus その2【GPL】
レス数が950を超えています。1000を超えると書き込みができなくなります。
919デフォルトの名無しさん
2022/11/15(火) 14:25:03.73ID:ktesV7KK920デフォルトの名無しさん
2022/11/15(火) 19:22:03.37ID:hFwj798Q >>919
下記を付け加えると入れ子のデータも書き出された
読み込みが正常に行われるかは検証してない
procedure TMyComponent.GetChildren(Proc: TGetChildProc; Root: TComponent); //override;
var
i: Integer;
begin
if Self = Root then begin
for i:=0 to ComponentCount-1 do begin
Proc(Components[i]);
end;
end;
end;
下記を付け加えると入れ子のデータも書き出された
読み込みが正常に行われるかは検証してない
procedure TMyComponent.GetChildren(Proc: TGetChildProc; Root: TComponent); //override;
var
i: Integer;
begin
if Self = Root then begin
for i:=0 to ComponentCount-1 do begin
Proc(Components[i]);
end;
end;
end;
921デフォルトの名無しさん
2022/11/15(火) 21:41:42.06ID:hFwj798Q Rootってなんだろう?と思って書いてたコードが入ってた
procedure TMyComponent.GetChildren(Proc: TGetChildProc; Root: TComponent); //override;
var
i: Integer;
begin
for i:=0 to ComponentCount-1 do begin
Proc(Components[i]);
end;
end;
procedure TMyComponent.GetChildren(Proc: TGetChildProc; Root: TComponent); //override;
var
i: Integer;
begin
for i:=0 to ComponentCount-1 do begin
Proc(Components[i]);
end;
end;
922デフォルトの名無しさん
2022/11/15(火) 22:24:52.25ID:1BrVYPVp >>921
ありがとうございます。書き出せました。
wiki のストリーミングのところ読んでもそんなこと書いてなかったけどな。
TWinControl に実装されてるから Form ならちゃんと書き出されたんですな。
人をハメようとしてるとしか思えないな。検索しても、英語の情報でも全然ないし。
とにかく、ありがとうございました。
ありがとうございます。書き出せました。
wiki のストリーミングのところ読んでもそんなこと書いてなかったけどな。
TWinControl に実装されてるから Form ならちゃんと書き出されたんですな。
人をハメようとしてるとしか思えないな。検索しても、英語の情報でも全然ないし。
とにかく、ありがとうございました。
923デフォルトの名無しさん
2022/12/14(水) 20:13:02.80ID:WtdZKbBc これは壮観。過去50年以上にわたる「プログラミング言語の人気の変遷」をアニメで紹介するムービー【やじうまWatch】 - INTERNET Watch
s://internet.watch.impress.co.jp/docs/yajiuma/1463502.html
pascalって人気あったんだね
s://internet.watch.impress.co.jp/docs/yajiuma/1463502.html
pascalって人気あったんだね
924デフォルトの名無しさん
2022/12/31(土) 11:06:52.98ID:J7CUMtxq インクリメンタルサーチの候補表示に TListBox を使っていて、
候補数が一定以下の場合は、数に合わせて ListBox の高さを調節したいと思っています。
Windows の場合は ItemHeight を使えばうまくいくようなのですが、Linux だと 0 が返ってきて
使えません。ほかにも ItemRect(0).Height の値も 0 ではないけど全然足りないし、
フォントの高さから計算できるかと思ったけど、同じ高さでもフォントが違うと
ListBox の項目の高さが微妙に違ったりしてこれもダメっぽい。
描画しているんだからどこかに情報があるんだと思うんですが、どこにあるんでしょう?
そもそもアプローチが間違っている?
候補数が一定以下の場合は、数に合わせて ListBox の高さを調節したいと思っています。
Windows の場合は ItemHeight を使えばうまくいくようなのですが、Linux だと 0 が返ってきて
使えません。ほかにも ItemRect(0).Height の値も 0 ではないけど全然足りないし、
フォントの高さから計算できるかと思ったけど、同じ高さでもフォントが違うと
ListBox の項目の高さが微妙に違ったりしてこれもダメっぽい。
描画しているんだからどこかに情報があるんだと思うんですが、どこにあるんでしょう?
そもそもアプローチが間違っている?
925デフォルトの名無しさん
2023/01/07(土) 18:23:08.22ID:rN0cn1Ph TOpenDialogのTitleプロパティがデフォルトの「ファイルを開く」のままOpenDialog1.Executeを実行すると、表示されたダイアログのキャプションが"Open existing file"と英語で表示されてしまいます。
これはLCLStrConstsユニットで rsfdOpenFile = 'Open existing file'; と定義されているのが原因のようですが、これをlclstrconsts.ja.poの「ファイルを開く」に置き換える方法を教えてください。
これはLCLStrConstsユニットで rsfdOpenFile = 'Open existing file'; と定義されているのが原因のようですが、これをlclstrconsts.ja.poの「ファイルを開く」に置き換える方法を教えてください。
926デフォルトの名無しさん
2023/01/09(月) 20:44:35.21ID:uyXkOmJj >>925
プロパティの設定が効かないってことかな?
プロパティの設定が効かないってことかな?
927デフォルトの名無しさん
2023/01/10(火) 09:05:22.16ID:GH/EYK1c >>926
オブジェクトインスペクタでTitleを「画像ファイルを開く」など「ファイルを開く」以外にすればTitleがダイアログのキャプションに反映されます。
また、コードでOpenDialog1.Title := 'ファイルを開く'; を実行すればキャプションもそうなります。
ただ、コードを書かずにオブジェクトインスペクタで「ファイルを開く」を設定するだけだと「Open existing file」が表示されるというのが今回の問題です。
この症状はTDBNavigatorでも確認できていて、Hintsプロパティにはデフォルトで日本語のヒントが設定されているのにもかかわらず、実行すると英語のヒントが表示されてしまします。
その他MessageDlgのボタンが「はい」「いいえ」ではなく「Yes」「No」なのも同じ原因だと思います。
オブジェクトインスペクタでTitleを「画像ファイルを開く」など「ファイルを開く」以外にすればTitleがダイアログのキャプションに反映されます。
また、コードでOpenDialog1.Title := 'ファイルを開く'; を実行すればキャプションもそうなります。
ただ、コードを書かずにオブジェクトインスペクタで「ファイルを開く」を設定するだけだと「Open existing file」が表示されるというのが今回の問題です。
この症状はTDBNavigatorでも確認できていて、Hintsプロパティにはデフォルトで日本語のヒントが設定されているのにもかかわらず、実行すると英語のヒントが表示されてしまします。
その他MessageDlgのボタンが「はい」「いいえ」ではなく「Yes」「No」なのも同じ原因だと思います。
928デフォルトの名無しさん
2023/01/10(火) 18:40:29.37ID:ddgJg6qa >>927
IDEの言語を日本語にしていると、TOpenDialogのTitleプロパティを「ファイルを開く」に設定してもデフォルトとみなされ設定ファイルに記録されず
アプリを国際化対応させてないと元のデフォルトである 'Open existing file' が表示されるみたい
したがって
解決法1
IDEの言語を日本語以外にして Titleプロパティを「ファイルを開く」に設定する
他のダイアログなどでも設定しないとならなかったり、根本解決ではない
解決法2
国際化対応(のふり):
1.どこかの uses節に DefaultTranslator を追加し、
2.実行ファイルがあるフォルダに languagesフォルダを作り、その中に lclstrconsts.ja.po をコピーする
でいいはずなんだけど、Windowsだと FCLの gettextユニットに日本語の言語コードを jp とする不具合があるので、次のように修正する
3.gettextユニットにある procedure GetLanguageIDs(var Lang, FallbackLang: string) の中の
LOCALE_SABBREVLANGNAME を LOCALE_SISO639LANGNAME に
LOCALE_SABBREVCTRYNAME を LOCALE_SISO3166CTRYNAME に書き換える
あとは gettextユニットをプロジェクトに追加してコンパイルするだけでいいはず
(gettextユニットを修正せずにファイル名を lclstrconsts.ja.po から lclstrconsts.jp.po にするだけでもいいけど)
gettextユニットの不具合のせいで国際化対応をどうやってもできなくて無駄に悩んだぞ
IDEの言語設定で Automaticで日本語にならないのも gettextユニットの不具合のせいじゃないのかなあ
IDEの言語を日本語にしていると、TOpenDialogのTitleプロパティを「ファイルを開く」に設定してもデフォルトとみなされ設定ファイルに記録されず
アプリを国際化対応させてないと元のデフォルトである 'Open existing file' が表示されるみたい
したがって
解決法1
IDEの言語を日本語以外にして Titleプロパティを「ファイルを開く」に設定する
他のダイアログなどでも設定しないとならなかったり、根本解決ではない
解決法2
国際化対応(のふり):
1.どこかの uses節に DefaultTranslator を追加し、
2.実行ファイルがあるフォルダに languagesフォルダを作り、その中に lclstrconsts.ja.po をコピーする
でいいはずなんだけど、Windowsだと FCLの gettextユニットに日本語の言語コードを jp とする不具合があるので、次のように修正する
3.gettextユニットにある procedure GetLanguageIDs(var Lang, FallbackLang: string) の中の
LOCALE_SABBREVLANGNAME を LOCALE_SISO639LANGNAME に
LOCALE_SABBREVCTRYNAME を LOCALE_SISO3166CTRYNAME に書き換える
あとは gettextユニットをプロジェクトに追加してコンパイルするだけでいいはず
(gettextユニットを修正せずにファイル名を lclstrconsts.ja.po から lclstrconsts.jp.po にするだけでもいいけど)
gettextユニットの不具合のせいで国際化対応をどうやってもできなくて無駄に悩んだぞ
IDEの言語設定で Automaticで日本語にならないのも gettextユニットの不具合のせいじゃないのかなあ
929デフォルトの名無しさん
2023/01/10(火) 19:51:57.80ID:GH/EYK1c >>928
ありがとうございます。
lclstrconsts.jp.poにリネームする方法で試して無事日本語で表示されました。
TDBNavigatorのヒントとMessageDlgのボタンも同様です。
ありがとうございます。
lclstrconsts.jp.poにリネームする方法で試して無事日本語で表示されました。
TDBNavigatorのヒントとMessageDlgのボタンも同様です。
930デフォルトの名無しさん
2023/03/13(月) 17:17:11.04ID:0W6r0BpQ Lazarus Release 2.2.6 - March 09, 2023, 10:38:09 am
931デフォルトの名無しさん
2023/03/17(金) 15:14:21.65ID:O04jxkPS 軽くていいな。ゲームエンジンなんかもあるようで欧州では使い手多いのか?
932デフォルトの名無しさん
2023/04/29(土) 13:16:43.69ID:SIZVO/Fn933デフォルトの名無しさん
2023/05/05(金) 03:07:31.72ID:PeDEzH1k Windowsアプリを作ったら、とても遅いような気がするんだけど、まだ改善してないのかな?
934デフォルトの名無しさん
2023/05/07(日) 13:41:00.25ID:eh+8xa5M935デフォルトの名無しさん
2023/05/07(日) 15:52:40.36ID:FtrFphzu936デフォルトの名無しさん
2023/07/12(水) 06:19:48.60ID:I6ZMSQN0 Lazarus Release Candidate 1 of 3.0 - July 03, 2023, 02:10:30 pm
937デフォルトの名無しさん
2023/07/15(土) 21:28:05.69ID:2FiMr/gw なんか知らんけど山下って人に金払わんでも専ブラ作っていいみたくなったらしいから
Lazarusでなんか作るチャンスなんじゃねw
Lazarusでなんか作るチャンスなんじゃねw
938デフォルトの名無しさん
2023/10/21(土) 16:11:17.35ID:G+lHRKF1 Lazarus Release Candidate 2 of 3.0 - October 16, 2023, 11:19:47 am
The Lazarus team is glad to announce the second release candidate of Lazarus 3.0.
This release was built with FPC 3.2.2.
The Lazarus team is glad to announce the second release candidate of Lazarus 3.0.
This release was built with FPC 3.2.2.
939デフォルトの名無しさん
2023/10/21(土) 16:11:26.42ID:G+lHRKF1 Lazarus Release Candidate 2 of 3.0 - October 16, 2023, 11:19:47 am
The Lazarus team is glad to announce the second release candidate of Lazarus 3.0.
This release was built with FPC 3.2.2.
The Lazarus team is glad to announce the second release candidate of Lazarus 3.0.
This release was built with FPC 3.2.2.
940デフォルトの名無しさん
2023/12/24(日) 07:32:34.78ID:1m+l9U5n Lazarus Release 3.0 - December 21, 2023, 05:13:29 pm
The Lazarus team is glad to announce the release of Lazarus 3.0.
This release was built with FPC 3.2.2.
The Lazarus team is glad to announce the release of Lazarus 3.0.
This release was built with FPC 3.2.2.
941デフォルトの名無しさん
2023/12/24(日) 12:29:21.36ID:CLUuqAoM >>937
Siki 以上のものをサクッと作れる気がしねー……
Siki 以上のものをサクッと作れる気がしねー……
942デフォルトの名無しさん
2024/02/09(金) 17:03:32.99ID:LEmbefGZ 元となったPascalの開発者が失踪したそうです
943デフォルトの名無しさん
2024/02/11(日) 15:58:19.39ID:8Y1XXxgX マジっすか
944デフォルトの名無しさん
2024/02/13(火) 17:18:01.13ID:kntdml6t ↑誤訳
945デフォルトの名無しさん
2024/02/14(水) 17:08:51.66ID:S7FsWUpF Pascal言語の作者が亡くなった話?
946デフォルトの名無しさん
2024/02/14(水) 18:24:17.69ID:vFlu/nl/ N. Wirth 死去 2024/1/1 89歳.R.I.P.
失踪じゃないよ.逝去だよ.
失踪じゃないよ.逝去だよ.
947デフォルトの名無しさん
2024/02/15(木) 13:20:05.14ID:YdqWfEse Pascalの始祖が伝説になっただけで開発者はご存命
948デフォルトの名無しさん
2024/02/15(木) 20:39:21.53ID:mXBES2ti なんじゃいヴィルト死去の話やったんかいヽ(`Д´)ノ
949デフォルトの名無しさん
2024/02/15(木) 21:10:08.91ID:+1FkxmBK passed away(消え去った)と書いてあったのでどこへ行ったのかと思った
950デフォルトの名無しさん
2024/02/15(木) 21:11:56.18ID:zblp804r >>949
どの記事?URL教えて!
どの記事?URL教えて!
951デフォルトの名無しさん
2024/02/16(金) 19:18:09.96ID:Axc1uWNK フリーパスカルに書いてあった
http://www.freepascal.org/
The creator of the Pascal Language, Niklaus Wirth, has passed away on January 1st.
http://www.freepascal.org/
The creator of the Pascal Language, Niklaus Wirth, has passed away on January 1st.
952デフォルトの名無しさん
2024/02/16(金) 21:56:16.38ID:nKsaIfEz passed awayは日本語でいう亡くなったみたいに、丁寧な言い方なんだな
勉強になった
勉強になった
953デフォルトの名無しさん
2024/02/29(木) 22:49:58.22ID:GWZVNy5Y Lazarus Release 3.2 - February 28, 2024, 04:35:50 pm
The Lazarus team is glad to announce the release of Lazarus 3.2.
This is a bugfix release and was built with FPC 3.2.2.
The Lazarus team is glad to announce the release of Lazarus 3.2.
This is a bugfix release and was built with FPC 3.2.2.
954デフォルトの名無しさん
2024/05/01(水) 11:19:57.60ID:N7BxcJwz ラズパイ上の開発なんですけど、Windows/DelphiでのPostMessageに相当するものはありますか?
955954
2024/05/01(水) 14:14:26.40ID:N7BxcJwz 自己解決しました。
winapih.inc(LCLIntf.pas)の中に定義がありました。
それとは別で、TThreadのインスタンスを作成しただけで例外でアプリごと落ちるんですが、
何か作法があるんでしょうか?
winapih.inc(LCLIntf.pas)の中に定義がありました。
それとは別で、TThreadのインスタンスを作成しただけで例外でアプリごと落ちるんですが、
何か作法があるんでしょうか?
956955
2024/05/01(水) 15:56:37.66ID:N7BxcJwz 自己解決しました。
プロジェクトのソースをデフォルトから変える必要があるのかもしれません。
{$IFDEF UNIX}
cthreads,
{$ENDIF}
プロジェクトのソースをデフォルトから変える必要があるのかもしれません。
{$IFDEF UNIX}
cthreads,
{$ENDIF}
957デフォルトの名無しさん
2024/05/11(土) 08:16:18.21ID:fN4sXTbp ラズパイでというかLinux(Debian)での Lazarus ですよね?
GTK や QT ベースで普通にアプリ作れますよ。
GTK や QT ベースで普通にアプリ作れますよ。
Lazarus Release 3.4 - May 29, 2024, 09:38:42 am
The Lazarus team is glad to announce the release of Lazarus 3.4.
This is a bugfix release and was built with FPC 3.2.2.
The Lazarus team is glad to announce the release of Lazarus 3.4.
This is a bugfix release and was built with FPC 3.2.2.
959デフォルトの名無しさん
2024/09/20(金) 13:00:12.04ID:qcL9NwXM Rustってコンパイル遅い。
Delphi 言語はなぜこんなにコンパイルが速いのか
Delphi 言語はなぜこんなにコンパイルが速いのか
960デフォルトの名無しさん
2024/09/20(金) 21:29:23.48ID:CPyMSx6T C/C++は近年のCPUの進化で速くなったが、Pascalみたいに変数の後に型宣言するとか、関数プロトタイプ宣言が無いとかは、1パスでコンパイル完了するための文法的な工夫。
961デフォルトの名無しさん
2024/09/20(金) 22:26:32.07ID:98e3Ciwa Turbo Pascalの変態的なコンパイル速度が懐かしい
x86アセンブラで記述されていてオンメモリコンパイルだったそうだけど、DOS時代のI/O速度であれかよって思った
x86アセンブラで記述されていてオンメモリコンパイルだったそうだけど、DOS時代のI/O速度であれかよって思った
962デフォルトの名無しさん
2024/09/20(金) 23:33:43.55ID:W27RIytC 炎のコンパイラって言われてたもんな
963デフォルトの名無しさん
2024/09/21(土) 01:25:35.67ID:YrJIgGEK PascalはLL文法だからコンパイルが速かったと思ってる
TurboPascalはコンパイルが異常に速かった
F5押したら瞬時に実行されてた
もちろんコンパイルしてから実行されてるはずだが、CPUが386とかの時代にコンパイル時間を感じないとか、もはやオーパーツと言ってもいいかもしれないw
TurboPascalはコンパイルが異常に速かった
F5押したら瞬時に実行されてた
もちろんコンパイルしてから実行されてるはずだが、CPUが386とかの時代にコンパイル時間を感じないとか、もはやオーパーツと言ってもいいかもしれないw
964デフォルトの名無しさん
2024/09/23(月) 23:34:17.75ID:/NJ3vFEC ちなみに俺が最初に Turbo Pascal に触れたのは Sharp X-1 の CP/M-80 上の Z-80 Turbo Pascal だったが
こんな貧弱な8ビット環境であるにもかかわらずスクリーンエディタ込みでオンメモリで作動し
快適にコーディング<->デバッグができるほどに爆速コンパイルだった
こんな貧弱な8ビット環境であるにもかかわらずスクリーンエディタ込みでオンメモリで作動し
快適にコーディング<->デバッグができるほどに爆速コンパイルだった
965デフォルトの名無しさん
2024/09/23(月) 23:55:17.21ID:tiwXgKZ4 Read Writeの様なIOが、Cがライブラリー実装なのに対して、Pascalは言語仕様なのも大きい
Cでmain内に10行程度のコードを書いたとしても、#include <stdio.h>しただけで何千行というヘッダーファイルをパースする必要がある(ファイルも複数読む必要がある)
これは遅い
Pascalはコンソールやファイルに読み書きする程度なら余計な読み込みは要らなかったはず
Cでmain内に10行程度のコードを書いたとしても、#include <stdio.h>しただけで何千行というヘッダーファイルをパースする必要がある(ファイルも複数読む必要がある)
これは遅い
Pascalはコンソールやファイルに読み書きする程度なら余計な読み込みは要らなかったはず
966デフォルトの名無しさん
2024/09/24(火) 10:56:15.98ID:ugZT4nhj Turbo Pascal 6.0で初めて触れたんだけど、コンパイラが小さいexe単一ファイルでインラインアセンブラ含むコードのコンパイル、リンクまでしてるからあの開発者は良い意味で化物
標準ユニット込みでも物凄いサイズ小さかった記憶
標準ユニット込みでも物凄いサイズ小さかった記憶
967デフォルトの名無しさん
2024/09/24(火) 15:47:09.01ID:lVbfF7GP Turbo Pascalって、アンダースヘルスバーグだっけ?
delphiのインターフェース(IInterface)の明示実装やクラスとは異なる公開スコープを持たせられる作りも好き。
delphiのインターフェース(IInterface)の明示実装やクラスとは異なる公開スコープを持たせられる作りも好き。
968デフォルトの名無しさん
2024/09/30(月) 23:08:06.65ID:kiCuXRCW Lazarus 3.6が出ました.
969デフォルトの名無しさん
2024/10/09(水) 08:54:10.50ID:AyxXMafE Deno や Bun から Delphi や Lazarus で作った dll 読み込めるっぽいな。
970デフォルトの名無しさん
2024/11/08(金) 18:55:05.89ID:eF4gB/Tn Lazarus Release Candidate 1 of 4.0 - October 27, 2024, 09:34:20 am
971デフォルトの名無しさん
2024/11/09(土) 11:36:02.31ID:KmaxpfiK forum見ると4.0からUIも変わるのかな?
とりあえずはfpc 3.2.2推奨で3.2.3使うと再構築できないとか云々
とりあえずはfpc 3.2.2推奨で3.2.3使うと再構築できないとか云々
972デフォルトの名無しさん
2025/04/05(土) 12:21:44.45ID:Gviq4eZn Lazarus Release Candidate 3 of 4.0 - March 25, 2025, 01:59:17 pm
973デフォルトの名無しさん
2025/04/07(月) 00:29:15.74ID:81Lw1ltM974デフォルトの名無しさん
2025/05/05(月) 21:29:15.36ID:+8iKHwJ7 Lazarus 4.0が出ました
https://forum.lazarus.freepascal.org/index.php/topic,71050.0.html
https://forum.lazarus.freepascal.org/index.php/topic,71050.0.html
975デフォルトの名無しさん
2025/07/05(土) 11:41:26.06ID:wlPhJnc4 Lazarus 4.0
AIにアドバイスしてもらいながら macos と ubuntu24.04LTS にインストールしてみただけ・・みたいな感じで
・macos M1-manmini は macos sonoma14.7.6 Xcode 15.4 の組み合わせだと割とあっさり
・intelCPUのmacbookair 2017 は敗北・・スキルのある人なら大丈夫なんだと思う
・ubuntu24.04LTSも割とあっさり
・Windowsはきっと動くんだろうと思ってパス
AIにアドバイスしてもらいながら macos と ubuntu24.04LTS にインストールしてみただけ・・みたいな感じで
・macos M1-manmini は macos sonoma14.7.6 Xcode 15.4 の組み合わせだと割とあっさり
・intelCPUのmacbookair 2017 は敗北・・スキルのある人なら大丈夫なんだと思う
・ubuntu24.04LTSも割とあっさり
・Windowsはきっと動くんだろうと思ってパス
976デフォルトの名無しさん
2025/07/23(水) 18:05:28.79ID:g64wXekY Lazarus 4.2が出ました
https://forum.lazarus.freepascal.org/index.php/topic,71826.0.html
https://forum.lazarus.freepascal.org/index.php/topic,71826.0.html
977デフォルトの名無しさん
2025/09/16(火) 11:36:00.51ID:4xybmvnI lazarus4.2 日本語windows11にデフォルト設定でインストールしてみた 起動すると始めからメニュー等は日本語になってました
試しに昔々Delphi5で書いたプロジェクトをインポートしたら文字はSJISだったしwinapi使ってあったけど修正無しでそのままの動いた とわいえ文字列操作があるとSJIS-UTF8の変換とwcharの対応は要ると思う
AIによるとdelphi5-7のプロジェクトのインポートは親和性が高いそうです。最新のDelphiプロジェクトはダメみたい
試しに昔々Delphi5で書いたプロジェクトをインポートしたら文字はSJISだったしwinapi使ってあったけど修正無しでそのままの動いた とわいえ文字列操作があるとSJIS-UTF8の変換とwcharの対応は要ると思う
AIによるとdelphi5-7のプロジェクトのインポートは親和性が高いそうです。最新のDelphiプロジェクトはダメみたい
978デフォルトの名無しさん
2025/09/16(火) 20:51:30.36ID:jRpZrnge Lazarus製のフリーソフトって何かある?
979デフォルトの名無しさん
2025/09/19(金) 04:21:07.83ID:Nq42NZKA LazPaint
980デフォルトの名無しさん
2025/09/29(月) 03:11:58.75ID:gRIxbkow 俺が自分のPCで使うためだけに作ったどうでも良いツール
981デフォルトの名無しさん
2025/10/07(火) 11:53:48.40ID:1INtyESS 977です delphi5のプログラムをインポートしたソースコードだけどソースそのものがsjis->utf8に変換されてた。メニュー等の文字だけを日本語化しただけじゃないみたい
AIはdelphi用のコンポーネントも使えるかも?と言ってるのでちょっとイジってみようかと思う、いや思ってるだけですよ
AIはdelphi用のコンポーネントも使えるかも?と言ってるのでちょっとイジってみようかと思う、いや思ってるだけですよ
982デフォルトの名無しさん
2025/10/07(火) 18:15:23.51ID:PufELU/u fpcで作成したコンソールアプリが実行時にEAccessViolationとなるのでfpcでソースのエラー位置を調べたら
ある関数の最後のendが示されて役に立ちませんでした
Lazarusに持って行ったら例外で停止さえしませんでした
Delphai6に持って行ってOSによる例外をデバッガが受け取るという設定にしたらやっと発生位置が特定できました
FPC/Lazarusではどうにもならないのでしょうか
Lazurusはちょっと古くて2.2.4です
ある関数の最後のendが示されて役に立ちませんでした
Lazarusに持って行ったら例外で停止さえしませんでした
Delphai6に持って行ってOSによる例外をデバッガが受け取るという設定にしたらやっと発生位置が特定できました
FPC/Lazarusではどうにもならないのでしょうか
Lazurusはちょっと古くて2.2.4です
983デフォルトの名無しさん
2025/10/07(火) 22:35:09.49ID:GcmYQjI+984デフォルトの名無しさん
2025/10/08(水) 09:53:53.24ID:i2Vw4tqm 最適化がオンでもオフでも
Execution stopped with exit-code 1 ($0001)
というポップアップが出て終了してしまいます
エラー位置にカーソルは行ってくれません
デバッガはdefault debuggerでもGdbでも同じです
Execution stopped with exit-code 1 ($0001)
というポップアップが出て終了してしまいます
エラー位置にカーソルは行ってくれません
デバッガはdefault debuggerでもGdbでも同じです
985デフォルトの名無しさん
2025/10/08(水) 10:11:36.23ID:i2Vw4tqm 982で「例外で停止さえしませんでした」というのは嘘でしたstoppedだから停止はしていますね
でもどこで停止したのかがわかりません
fpcでは
fpc -glh -O- とかやってどの関数でエラーが発生したのかまではわかるのですが
でもどこで停止したのかがわかりません
fpcでは
fpc -glh -O- とかやってどの関数でエラーが発生したのかまではわかるのですが
986デフォルトの名無しさん
2025/10/08(水) 14:47:25.50ID:xHDBIHkx fpcそのものからは離れますが
exet code が1でエラーなので例外停止したと読めます
ただコンソールアプリがさまざまな返り値を返すこと自体はエラーでも何でもなく普通のことだと私は理解しています
アプリの終了時に0を返せばいいのでは?
Cだと
int main()
{
printf("hello world");
return 0;
}
エラー位置が特定できないのはそもそもプログラムが終わっているからとも解釈できます。rezarusにexiecode=1のエラーを無視するみたいなのはないのでしょうか?
的外れでしたらすみません
exet code が1でエラーなので例外停止したと読めます
ただコンソールアプリがさまざまな返り値を返すこと自体はエラーでも何でもなく普通のことだと私は理解しています
アプリの終了時に0を返せばいいのでは?
Cだと
int main()
{
printf("hello world");
return 0;
}
エラー位置が特定できないのはそもそもプログラムが終わっているからとも解釈できます。rezarusにexiecode=1のエラーを無視するみたいなのはないのでしょうか?
的外れでしたらすみません
987デフォルトの名無しさん
2025/10/08(水) 21:55:59.60ID:i2Vw4tqm >>986
985 に訂正して書きましたようにLazarusでもエラー停止はしています
デバッガにはエラー位置を特定してもらいたいという話です
Lazarus/FPCではEAccessViolationのエラーについてそれができないようでした
一方Delphi 6では同じソースでEAccessViolationについても停止してからIDE上でカーソルがエラー位置に飛びます
985 に訂正して書きましたようにLazarusでもエラー停止はしています
デバッガにはエラー位置を特定してもらいたいという話です
Lazarus/FPCではEAccessViolationのエラーについてそれができないようでした
一方Delphi 6では同じソースでEAccessViolationについても停止してからIDE上でカーソルがエラー位置に飛びます
988デフォルトの名無しさん
2025/10/09(木) 07:09:23.25ID:l11UH+Dz どうもお役に立てなかったようです
989デフォルトの名無しさん
2025/10/12(日) 17:55:59.44ID:E5GJpTM9 987です
前回のプログラムは開発途中でもう残っていないのですが、EAccessViolationが発生する単純なプログラムで
今日改めてテストして見ました所Lazarus/FPCとも正しくエラー行を表示してくれました
お騒がせしてすみませんでした
前回は一体何だったのだろうか・・・
{$APPTYPE CONSOLE}
program test;
uses SysUtils;
var
p: PInteger;
begin
Writeln('Start');
p := nil;
p^ := 123;
Readln
end.
前回のプログラムは開発途中でもう残っていないのですが、EAccessViolationが発生する単純なプログラムで
今日改めてテストして見ました所Lazarus/FPCとも正しくエラー行を表示してくれました
お騒がせしてすみませんでした
前回は一体何だったのだろうか・・・
{$APPTYPE CONSOLE}
program test;
uses SysUtils;
var
p: PInteger;
begin
Writeln('Start');
p := nil;
p^ := 123;
Readln
end.
990デフォルトの名無しさん
2025/10/13(月) 09:39:19.36ID:Jdg3EAgT コンソールアプリの返り値が1なのでエラーだったと思いますが
書き込まれたソースですと返り値が指定されていません
よって返り値は不定なのでその度に結果が異なると解釈できないことはありません。
なので返り値を明示的に指定してその結果を比較されていかがでしょうか?
以下はgrokに聞きました
Q)pascal(free pascal)を使用して、windows(dos)上で動作するコンソールアプリを作成します
そのコンソールアプリの返り値を指定するにはどうしたらいいですか
A) by grok
Free Pascalでは、プログラムの終了コードをHalt手続きやExitCode変数を使用して設定できます。以下に具体的な手順とサンプルコードを示します。
<<sample1>>
program ExitCodeDemo;
begin
WriteLn('プログラムが正常に終了しました');
Halt(0); // 終了コード 0 を返す
end.
<<sample2>>
program ExitCodeDemo;
begin
WriteLn('プログラムが実行中...');
ExitCode := 42; // 終了コード 42 を返す
end.
書き込まれたソースですと返り値が指定されていません
よって返り値は不定なのでその度に結果が異なると解釈できないことはありません。
なので返り値を明示的に指定してその結果を比較されていかがでしょうか?
以下はgrokに聞きました
Q)pascal(free pascal)を使用して、windows(dos)上で動作するコンソールアプリを作成します
そのコンソールアプリの返り値を指定するにはどうしたらいいですか
A) by grok
Free Pascalでは、プログラムの終了コードをHalt手続きやExitCode変数を使用して設定できます。以下に具体的な手順とサンプルコードを示します。
<<sample1>>
program ExitCodeDemo;
begin
WriteLn('プログラムが正常に終了しました');
Halt(0); // 終了コード 0 を返す
end.
<<sample2>>
program ExitCodeDemo;
begin
WriteLn('プログラムが実行中...');
ExitCode := 42; // 終了コード 42 を返す
end.
991デフォルトの名無しさん
2025/10/14(火) 19:14:39.90ID:QTjOk1jf >>990
989ですが、今となっては当初デバッガが動作しなかった理由はわかりません
その後簡単なテストプログラムで問題なくエラー行は検知されました
ちなみにFree Pascalのプログラムではエラーの時に返り値を設定する以外に特に返り値の指定は不要で、
正常終了すればゼロになります
989ですが、今となっては当初デバッガが動作しなかった理由はわかりません
その後簡単なテストプログラムで問題なくエラー行は検知されました
ちなみにFree Pascalのプログラムではエラーの時に返り値を設定する以外に特に返り値の指定は不要で、
正常終了すればゼロになります
992デフォルトの名無しさん
2025/11/12(水) 01:21:59.39ID:oQstHhSD Lazarus 4.4が出ました
https://forum.lazarus.freepascal.org/index.php/topic,72707.0.html
https://forum.lazarus.freepascal.org/index.php/topic,72707.0.html
993デフォルトの名無しさん
2025/11/12(水) 09:15:18.55ID:JDphJLx0 バージョンアップする必要性を感じなくなって2.2.4のまま使っている
fpcはunicode不完全対応の3.2.2でずっと変わらないし過去作成したプログラムを修正する必要が発生するかもしれないのもいやだしね
fpcはunicode不完全対応の3.2.2でずっと変わらないし過去作成したプログラムを修正する必要が発生するかもしれないのもいやだしね
レスを投稿する
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★6 [樽悶★]
- 【🐼🇨🇳】「高市総理VS中国」で日本からパンダはゼロに? 上野動物園「パンダ返還期限」まであと4カ月…★2 [BFU★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★5 [樽悶★]
- 【裁判】山上徹也被告の妹「この人は母のふりをした旧統一教会の信者だと思いました」「でも、母の形をしているから突き放せなかった」 [1ゲットロボ★]
- 【速報】 米大使声明 「日本を支えていく」「中国が威圧的手段に訴えるのは断ち難い悪癖」 [お断り★]
- 「“なり得る”って言っただけだから…」高市早苗“存立危機”答弁後に漏らした本音 ★4 [Hitzeschleier★]
- 【速報】アメリカ「高市総理を支持する。中国の威圧は許せない」 [931948549]
- 小野田紀美大臣「悪いことをする外国人は日本にいない状況をつくる」 [856698234]
- 珍🏡珍
- 【安倍悲報】山上徹也「押し入れに大量のつぼ」 [115996789]
- 外国人「日本の立ちんぼガールやばすぎるwwwwwwwww [977790669]
- 🐻「ぼく、人殺しじゃないクマ!」熊さん、冤罪で4匹も殺される [389326466]
