【Delphi互換!?】FreePascal/Lazarus その2【GPL】 (993レス)
上下前次1-新
1: 2009/12/25(金)02:46 AAS
(クロス)オープンソースコンパイラ FreePascal [i386/68K/PPC/ARM/SPARC]
外部リンク:www.freepascal.org
オープンソース開発ライブラリ等 [IDE/GUI環境 Lazarus]
外部リンク:www.lazarus.freepascal.org
FreePascal/Lazarusのメーリングリスト(Pascalにホエロ!)
外部リンク:www.freeml.com
Q:これで作ったソフトは自動的にGPLになるの?
省3
913(1): 2022/10/18(火)09:21 ID:muJtZzp1(1) AAS
Lazarus製のアプリケーションのexeのショートカットをつくって実行時の
大きさを最小化としても最小化で起動しないのだがどうすればいいのかな
914(1): 2022/10/19(水)00:06 ID:imuHRl6B(1) AAS
>>913
Delphi ではプロジェクトファイルをごにょごにょしてたので
Lazarus では多分 .lpr ファイルにごにょごにょ
Application.CreateForm(TForm1, Form1);
//ここに↓これを入れて判断
if CmdShow = SW_MINIMIZE then Application.Minimize;
Application.Run;
915: 2022/10/19(水)09:56 ID:ozKA7OU5(1) AAS
>>914
あいにく動作しませんでした
メインフォームのOnCreateイベントハンドラーに
case CmdShow of
SW_SHOWMINNOACTIVE: WindowState := wsMinimized;
SW_SHOWMAXIMIZED: WindowState := wsMaximized;
end;
省1
916(1): 2022/10/20(木)08:50 ID:rL6ktv6z(1) AAS
AmazonにKindle本として佐々木優という人が書いたLazurus・Free Pascalのセルフ出版の
本が何冊かのっている(読み放題のKindle Unlimited対象)
役に立つかどうかは別にして日本語の本というのはめずらしいかも
917: 2022/10/20(木)10:06 ID:7LO4Bhg7(1) AAS
>>916
応援の意味で何冊か買いました。Unlimited もいつ対象外になるかわからんし。
918: 2022/10/22(土)14:34 ID:4hbuG1Ym(1) AAS
UbuntuでC++Builderを導入できなかったのでDelphiの本読んで勉強してます。
思い通りに動くと楽しいです。
919(1): 2022/11/15(火)14:25 ID:ktesV7KK(1) AAS
サンプルの xmlstreaming を参考にして設定を書き出す処理を作ってます。
TComponent を継承して設定データのクラスを作ろうとしているんだけど、
その中にさらに TComponent 派生クラスを入れ子にすると、その項目が書き出されない。
入れ子のクラスを TPersistent 派生にすると書き出されるんだけど、項目名が
ドットで区切られた形でかなり違和感。
xmlstreaming の中でコメントアウトされている Form (Self) を書き出す処理を有効にしてみると、
入れ子のデータは「children」タグに囲われていい感じで出力されているんだけど、
省1
920: 2022/11/15(火)19:22 ID:hFwj798Q(1/2) AAS
>>919
下記を付け加えると入れ子のデータも書き出された
読み込みが正常に行われるかは検証してない
procedure TMyComponent.GetChildren(Proc: TGetChildProc; Root: TComponent); //override;
var
i: Integer;
begin
省6
921(1): 2022/11/15(火)21:41 ID:hFwj798Q(2/2) AAS
Rootってなんだろう?と思って書いてたコードが入ってた
procedure TMyComponent.GetChildren(Proc: TGetChildProc; Root: TComponent); //override;
var
i: Integer;
begin
for i:=0 to ComponentCount-1 do begin
Proc(Components[i]);
省2
922: 2022/11/15(火)22:24 ID:1BrVYPVp(1) AAS
>>921
ありがとうございます。書き出せました。
wiki のストリーミングのところ読んでもそんなこと書いてなかったけどな。
TWinControl に実装されてるから Form ならちゃんと書き出されたんですな。
人をハメようとしてるとしか思えないな。検索しても、英語の情報でも全然ないし。
とにかく、ありがとうございました。
923: 2022/12/14(水)20:13 ID:WtdZKbBc(1) AAS
これは壮観。過去50年以上にわたる「プログラミング言語の人気の変遷」をアニメで紹介するムービー【やじうまWatch】 - INTERNET Watch
外部リンク[html]:internet.watch.impress.co.jp
pascalって人気あったんだね
924: 2022/12/31(土)11:06 ID:J7CUMtxq(1) AAS
インクリメンタルサーチの候補表示に TListBox を使っていて、
候補数が一定以下の場合は、数に合わせて ListBox の高さを調節したいと思っています。
Windows の場合は ItemHeight を使えばうまくいくようなのですが、Linux だと 0 が返ってきて
使えません。ほかにも ItemRect(0).Height の値も 0 ではないけど全然足りないし、
フォントの高さから計算できるかと思ったけど、同じ高さでもフォントが違うと
ListBox の項目の高さが微妙に違ったりしてこれもダメっぽい。
描画しているんだからどこかに情報があるんだと思うんですが、どこにあるんでしょう?
省1
925(1): 2023/01/07(土)18:23 ID:rN0cn1Ph(1) AAS
TOpenDialogのTitleプロパティがデフォルトの「ファイルを開く」のままOpenDialog1.Executeを実行すると、表示されたダイアログのキャプションが"Open existing file"と英語で表示されてしまいます。
これはLCLStrConstsユニットで rsfdOpenFile = 'Open existing file'; と定義されているのが原因のようですが、これをlclstrconsts.ja.poの「ファイルを開く」に置き換える方法を教えてください。
926(1): 2023/01/09(月)20:44 ID:uyXkOmJj(1) AAS
>>925
プロパティの設定が効かないってことかな?
927(1): 2023/01/10(火)09:05 ID:GH/EYK1c(1/2) AAS
>>926
オブジェクトインスペクタでTitleを「画像ファイルを開く」など「ファイルを開く」以外にすればTitleがダイアログのキャプションに反映されます。
また、コードでOpenDialog1.Title := 'ファイルを開く'; を実行すればキャプションもそうなります。
ただ、コードを書かずにオブジェクトインスペクタで「ファイルを開く」を設定するだけだと「Open existing file」が表示されるというのが今回の問題です。
この症状はTDBNavigatorでも確認できていて、Hintsプロパティにはデフォルトで日本語のヒントが設定されているのにもかかわらず、実行すると英語のヒントが表示されてしまします。
その他MessageDlgのボタンが「はい」「いいえ」ではなく「Yes」「No」なのも同じ原因だと思います。
928(1): 2023/01/10(火)18:40 ID:ddgJg6qa(1) AAS
>>927
IDEの言語を日本語にしていると、TOpenDialogのTitleプロパティを「ファイルを開く」に設定してもデフォルトとみなされ設定ファイルに記録されず
アプリを国際化対応させてないと元のデフォルトである 'Open existing file' が表示されるみたい
したがって
解決法1
IDEの言語を日本語以外にして Titleプロパティを「ファイルを開く」に設定する
他のダイアログなどでも設定しないとならなかったり、根本解決ではない
省12
929: 2023/01/10(火)19:51 ID:GH/EYK1c(2/2) AAS
>>928
ありがとうございます。
lclstrconsts.jp.poにリネームする方法で試して無事日本語で表示されました。
TDBNavigatorのヒントとMessageDlgのボタンも同様です。
930: 2023/03/13(月)17:17 ID:0W6r0BpQ(1) AAS
Lazarus Release 2.2.6 - March 09, 2023, 10:38:09 am
931: 2023/03/17(金)15:14 ID:O04jxkPS(1) AAS
軽くていいな。ゲームエンジンなんかもあるようで欧州では使い手多いのか?
932: 2023/04/29(土)13:16 ID:SIZVO/Fn(1) AAS
外部リンク:www.tiobe.com
TIOBE Indexで常に10位前後を維持してるDelphi系のPascal言語もスゴいよな
信じがたい快挙
933(2): 2023/05/05(金)03:07 ID:PeDEzH1k(1) AAS
Windowsアプリを作ったら、とても遅いような気がするんだけど、まだ改善してないのかな?
934: 2023/05/07(日)13:41 ID:eh+8xa5M(1) AAS
>>933
どんなプログラムを書いてどの言語と比較して遅いのかを書かないと答えは無理
C++/C言語と同等の速度にはならない
スクリプト言語よりは高速
935: 2023/05/07(日)15:52 ID:FtrFphzu(1) AAS
>>933
他のプログラムはサクサク動くのにお前の作ったプログラムだけが遅いという場合は、
多分お前のプログラムの何かがおかしい。
936: 2023/07/12(水)06:19 ID:I6ZMSQN0(1) AAS
Lazarus Release Candidate 1 of 3.0 - July 03, 2023, 02:10:30 pm
937(1): 2023/07/15(土)21:28 ID:2FiMr/gw(1) AAS
なんか知らんけど山下って人に金払わんでも専ブラ作っていいみたくなったらしいから
Lazarusでなんか作るチャンスなんじゃねw
938: 2023/10/21(土)16:11 ID:G+lHRKF1(1/2) AAS
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.
939: 2023/10/21(土)16:11 ID:G+lHRKF1(2/2) AAS
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.
940: 2023/12/24(日)07:32 ID:1m+l9U5n(1) AAS
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.
941: 2023/12/24(日)12:29 ID:CLUuqAoM(1) AAS
>>937
Siki 以上のものをサクッと作れる気がしねー……
942: 2024/02/09(金)17:03 ID:LEmbefGZ(1) AAS
元となったPascalの開発者が失踪したそうです
943: 2024/02/11(日)15:58 ID:8Y1XXxgX(1) AAS
マジっすか
944: 2024/02/13(火)17:18 ID:kntdml6t(1) AAS
↑誤訳
945: 2024/02/14(水)17:08 ID:S7FsWUpF(1) AAS
Pascal言語の作者が亡くなった話?
946: 2024/02/14(水)18:24 ID:vFlu/nl/(1) AAS
N. Wirth 死去 2024/1/1 89歳.R.I.P.
失踪じゃないよ.逝去だよ.
947: 2024/02/15(木)13:20 ID:YdqWfEse(1) AAS
Pascalの始祖が伝説になっただけで開発者はご存命
948: 2024/02/15(木)20:39 ID:mXBES2ti(1) AAS
なんじゃいヴィルト死去の話やったんかいヽ(`Д´)ノ
949(1): 2024/02/15(木)21:10 ID:+1FkxmBK(1) AAS
passed away(消え去った)と書いてあったのでどこへ行ったのかと思った
950: 2024/02/15(木)21:11 ID:zblp804r(1) AAS
>>949
どの記事?URL教えて!
951: 2024/02/16(金)19:18 ID:Axc1uWNK(1) AAS
フリーパスカルに書いてあった
外部リンク:www.freepascal.org
The creator of the Pascal Language, Niklaus Wirth, has passed away on January 1st.
952: 2024/02/16(金)21:56 ID:nKsaIfEz(1) AAS
passed awayは日本語でいう亡くなったみたいに、丁寧な言い方なんだな
勉強になった
953: 2024/02/29(木)22:49 ID:GWZVNy5Y(1) AAS
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.
954(1): 2024/05/01(水)11:19 ID:N7BxcJwz(1/3) AAS
ラズパイ上の開発なんですけど、Windows/DelphiでのPostMessageに相当するものはありますか?
955(1): 954 2024/05/01(水)14:14 ID:N7BxcJwz(2/3) AAS
自己解決しました。
winapih.inc(LCLIntf.pas)の中に定義がありました。
それとは別で、TThreadのインスタンスを作成しただけで例外でアプリごと落ちるんですが、
何か作法があるんでしょうか?
956: 955 2024/05/01(水)15:56 ID:N7BxcJwz(3/3) AAS
自己解決しました。
プロジェクトのソースをデフォルトから変える必要があるのかもしれません。
{$IFDEF UNIX}
cthreads,
{$ENDIF}
957: 2024/05/11(土)08:16 ID:fN4sXTbp(1) AAS
ラズパイでというかLinux(Debian)での Lazarus ですよね?
GTK や QT ベースで普通にアプリ作れますよ。
958: 警備員[Lv.4][新芽] 2024/05/31(金)12:03 ID:AJG6Tz1O(1) AAS
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.
959: 2024/09/20(金)13:00 ID:qcL9NwXM(1) AAS
Rustってコンパイル遅い。
Delphi 言語はなぜこんなにコンパイルが速いのか
960: 2024/09/20(金)21:29 ID:CPyMSx6T(1) AAS
C/C++は近年のCPUの進化で速くなったが、Pascalみたいに変数の後に型宣言するとか、関数プロトタイプ宣言が無いとかは、1パスでコンパイル完了するための文法的な工夫。
961: 2024/09/20(金)22:26 ID:98e3Ciwa(1) AAS
Turbo Pascalの変態的なコンパイル速度が懐かしい
x86アセンブラで記述されていてオンメモリコンパイルだったそうだけど、DOS時代のI/O速度であれかよって思った
962: 2024/09/20(金)23:33 ID:W27RIytC(1) AAS
炎のコンパイラって言われてたもんな
963: 2024/09/21(土)01:25 ID:YrJIgGEK(1) AAS
PascalはLL文法だからコンパイルが速かったと思ってる
TurboPascalはコンパイルが異常に速かった
F5押したら瞬時に実行されてた
もちろんコンパイルしてから実行されてるはずだが、CPUが386とかの時代にコンパイル時間を感じないとか、もはやオーパーツと言ってもいいかもしれないw
964: 2024/09/23(月)23:34 ID:/NJ3vFEC(1) AAS
ちなみに俺が最初に Turbo Pascal に触れたのは Sharp X-1 の CP/M-80 上の Z-80 Turbo Pascal だったが
こんな貧弱な8ビット環境であるにもかかわらずスクリーンエディタ込みでオンメモリで作動し
快適にコーディング<->デバッグができるほどに爆速コンパイルだった
965: 2024/09/23(月)23:55 ID:tiwXgKZ4(1) AAS
Read Writeの様なIOが、Cがライブラリー実装なのに対して、Pascalは言語仕様なのも大きい
Cでmain内に10行程度のコードを書いたとしても、#include <stdio.h>しただけで何千行というヘッダーファイルをパースする必要がある(ファイルも複数読む必要がある)
これは遅い
Pascalはコンソールやファイルに読み書きする程度なら余計な読み込みは要らなかったはず
966: 2024/09/24(火)10:56 ID:ugZT4nhj(1) AAS
Turbo Pascal 6.0で初めて触れたんだけど、コンパイラが小さいexe単一ファイルでインラインアセンブラ含むコードのコンパイル、リンクまでしてるからあの開発者は良い意味で化物
標準ユニット込みでも物凄いサイズ小さかった記憶
967: 2024/09/24(火)15:47 ID:lVbfF7GP(1) AAS
Turbo Pascalって、アンダースヘルスバーグだっけ?
delphiのインターフェース(IInterface)の明示実装やクラスとは異なる公開スコープを持たせられる作りも好き。
968: 2024/09/30(月)23:08 ID:kiCuXRCW(1) AAS
Lazarus 3.6が出ました.
969: 2024/10/09(水)08:54 ID:AyxXMafE(1) AAS
Deno や Bun から Delphi や Lazarus で作った dll 読み込めるっぽいな。
970: 2024/11/08(金)18:55 ID:eF4gB/Tn(1) AAS
Lazarus Release Candidate 1 of 4.0 - October 27, 2024, 09:34:20 am
971: 2024/11/09(土)11:36 ID:KmaxpfiK(1) AAS
forum見ると4.0からUIも変わるのかな?
とりあえずはfpc 3.2.2推奨で3.2.3使うと再構築できないとか云々
972: 04/05(土)12:21 ID:Gviq4eZn(1) AAS
Lazarus Release Candidate 3 of 4.0 - March 25, 2025, 01:59:17 pm
973: 04/07(月)00:29 ID:81Lw1ltM(1) AAS
動画リンク[YouTube]
974: 05/05(月)21:29 ID:+8iKHwJ7(1) AAS
Lazarus 4.0が出ました
外部リンク[html]:forum.lazarus.freepascal.org
975: 07/05(土)11:41 ID:wlPhJnc4(1) AAS
Lazarus 4.0
AIにアドバイスしてもらいながら macos と ubuntu24.04LTS にインストールしてみただけ・・みたいな感じで
・macos M1-manmini は macos sonoma14.7.6 Xcode 15.4 の組み合わせだと割とあっさり
・intelCPUのmacbookair 2017 は敗北・・スキルのある人なら大丈夫なんだと思う
・ubuntu24.04LTSも割とあっさり
・Windowsはきっと動くんだろうと思ってパス
976: 07/23(水)18:05 ID:g64wXekY(1) AAS
Lazarus 4.2が出ました
外部リンク[html]:forum.lazarus.freepascal.org
977: 09/16(火)11:36 ID:4xybmvnI(1) AAS
lazarus4.2 日本語windows11にデフォルト設定でインストールしてみた 起動すると始めからメニュー等は日本語になってました
試しに昔々Delphi5で書いたプロジェクトをインポートしたら文字はSJISだったしwinapi使ってあったけど修正無しでそのままの動いた とわいえ文字列操作があるとSJIS-UTF8の変換とwcharの対応は要ると思う
AIによるとdelphi5-7のプロジェクトのインポートは親和性が高いそうです。最新のDelphiプロジェクトはダメみたい
978: 09/16(火)20:51 ID:jRpZrnge(1) AAS
Lazarus製のフリーソフトって何かある?
979: 09/19(金)04:21 ID:Nq42NZKA(1) AAS
LazPaint
980: 09/29(月)03:11 ID:gRIxbkow(1) AAS
俺が自分のPCで使うためだけに作ったどうでも良いツール
981: 10/07(火)11:53 ID:1INtyESS(1) AAS
977です delphi5のプログラムをインポートしたソースコードだけどソースそのものがsjis->utf8に変換されてた。メニュー等の文字だけを日本語化しただけじゃないみたい
AIはdelphi用のコンポーネントも使えるかも?と言ってるのでちょっとイジってみようかと思う、いや思ってるだけですよ
982(1): 10/07(火)18:15 ID:PufELU/u(1) AAS
fpcで作成したコンソールアプリが実行時にEAccessViolationとなるのでfpcでソースのエラー位置を調べたら
ある関数の最後のendが示されて役に立ちませんでした
Lazarusに持って行ったら例外で停止さえしませんでした
Delphai6に持って行ってOSによる例外をデバッガが受け取るという設定にしたらやっと発生位置が特定できました
FPC/Lazarusではどうにもならないのでしょうか
Lazurusはちょっと古くて2.2.4です
983: 10/07(火)22:35 ID:GcmYQjI+(1) AAS
>>982
プロジェクトオプションの最適化が有効になっているからでは?
「0.最適化なし」にして試してみては?
984: 10/08(水)09:53 ID:i2Vw4tqm(1/3) AAS
最適化がオンでもオフでも
Execution stopped with exit-code 1 ($0001)
というポップアップが出て終了してしまいます
エラー位置にカーソルは行ってくれません
デバッガはdefault debuggerでもGdbでも同じです
985: 10/08(水)10:11 ID:i2Vw4tqm(2/3) AAS
982で「例外で停止さえしませんでした」というのは嘘でしたstoppedだから停止はしていますね
でもどこで停止したのかがわかりません
fpcでは
fpc -glh -O- とかやってどの関数でエラーが発生したのかまではわかるのですが
986(1): 10/08(水)14:47 ID:xHDBIHkx(1) AAS
fpcそのものからは離れますが
exet code が1でエラーなので例外停止したと読めます
ただコンソールアプリがさまざまな返り値を返すこと自体はエラーでも何でもなく普通のことだと私は理解しています
アプリの終了時に0を返せばいいのでは?
Cだと
int main()
{
省5
987: 10/08(水)21:55 ID:i2Vw4tqm(3/3) AAS
>>986
985 に訂正して書きましたようにLazarusでもエラー停止はしています
デバッガにはエラー位置を特定してもらいたいという話です
Lazarus/FPCではEAccessViolationのエラーについてそれができないようでした
一方Delphi 6では同じソースでEAccessViolationについても停止してからIDE上でカーソルがエラー位置に飛びます
988: 10/09(木)07:09 ID:l11UH+Dz(1) AAS
どうもお役に立てなかったようです
989: 10/12(日)17:55 ID:E5GJpTM9(1) AAS
987です
前回のプログラムは開発途中でもう残っていないのですが、EAccessViolationが発生する単純なプログラムで
今日改めてテストして見ました所Lazarus/FPCとも正しくエラー行を表示してくれました
お騒がせしてすみませんでした
前回は一体何だったのだろうか・・・
{$APPTYPE CONSOLE}
program test;
省9
990(1): 10/13(月)09:39 ID:Jdg3EAgT(1) AAS
コンソールアプリの返り値が1なのでエラーだったと思いますが
書き込まれたソースですと返り値が指定されていません
よって返り値は不定なのでその度に結果が異なると解釈できないことはありません。
なので返り値を明示的に指定してその結果を比較されていかがでしょうか?
以下はgrokに聞きました
Q)pascal(free pascal)を使用して、windows(dos)上で動作するコンソールアプリを作成します
省15
991: 10/14(火)19:14 ID:QTjOk1jf(1) AAS
>>990
989ですが、今となっては当初デバッガが動作しなかった理由はわかりません
その後簡単なテストプログラムで問題なくエラー行は検知されました
ちなみにFree Pascalのプログラムではエラーの時に返り値を設定する以外に特に返り値の指定は不要で、
正常終了すればゼロになります
992: 11/12(水)01:21 ID:oQstHhSD(1) AAS
Lazarus 4.4が出ました
外部リンク[html]:forum.lazarus.freepascal.org
993: 11/12(水)09:15 ID:JDphJLx0(1) AAS
バージョンアップする必要性を感じなくなって2.2.4のまま使っている
fpcはunicode不完全対応の3.2.2でずっと変わらないし過去作成したプログラムを修正する必要が発生するかもしれないのもいやだしね
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.197s*