【Delphi互換!?】FreePascal/Lazarus その2【GPL】

レス数が900を超えています。1000を超えると表示できなくなるよ。
2009/12/25(金) 02:46:18
(クロス)オープンソースコンパイラ FreePascal [i386/68K/PPC/ARM/SPARC]
http://www.freepascal.org/

オープンソース開発ライブラリ等 [IDE/GUI環境 Lazarus]
http://www.lazarus.freepascal.org/

FreePascal/Lazarusのメーリングリスト(Pascalにホエロ!)
ttp://www.freeml.com/lazarus

Q:これで作ったソフトは自動的にGPLになるの?

A:制限付き LGPL だから、自分が作ったソースは GPL にする必要は無い
例え FreePascal 付属のライブラリにリンクしていても GPL にはしなくて良い
http://www.freepascal.org/faq.html#general-license
2019/04/11(木) 14:15:28.19ID:S9MFSdB7
FormatDateTimeとかでそもそも元号対応してるのWindows版だけなのな
2019/04/11(木) 14:15:46.53ID:S9MFSdB7
滅多に使うことはないだろうけど
2019/04/13(土) 10:08:17.34ID:VAZw4bPr
たいてい西暦しか使わないね。お役所の書類で仕方なくって感じかな。
2019/04/17(水) 20:50:39.15ID:yUqArsz+
Lazarus Release 2.0.2 - April 16, 2019, 10:34:02 am
2019/05/07(火) 22:10:10.01ID:WYmdE2fC
久しぶりにLazToApkをバージョンアップしたら、ビルドの仕方が変わっていて使い方がわからず撃沈。
OldVersionもHPにないし困ったなあ。
昔のファイルがあればいいけどなあ、ハードディスク内を探してみるか。
2019/05/07(火) 23:08:19.13ID:crsXz7PJ
困ったなあ(チラッ)
2019/05/08(水) 00:53:50.31ID:hN+WAUHi
svnで好きな時点のソース落とせよ
2019/05/09(木) 07:23:31.91ID:riNy8fVT
この機会に手動ビルドを研究したほうがよい。
最近やってないけど大した手間じゃない。
2019/05/09(木) 07:27:45.97ID:riNy8fVT
巷によくある、 C++ で作った .so ファイルを apk にする手順を
Laz で作った .so ファイルと読み替えるだけ。
2019/06/17(月) 21:13:48.03ID:7jkihj6t
久々に使い始めたんだけど、ブレークした時にクラスのインスタンスの内部データって見られないんだっけ?
Integer とかの単純な変数は見られるんだけど、例えば TStringList のインスタンスに登録されてる文字列とか。
昔作ったプログラムを見てるんだけど、どうやったか覚えてない。
834デフォルトの名無しさん
垢版 |
2019/06/19(水) 05:02:36.99ID:tVNS+22r
【出資】松本卓朗 人工知能詐欺【注意】
https://rio2016.5ch.net/test/read.cgi/rikei/1560859403/
2019/07/02(火) 18:35:04.45ID:RhWJXLyF
TpairSpitterの境界線の上に文字を置きたいのですが、どうしたら良いでしょうか。
境界線のつまみを隠したいのと文字を置きたいのが理由です。
アイデアをください。
2019/07/05(金) 08:04:30.82ID:R9kjbrwG
>>835
TLabelでなくTStaticTextでとかそいうこと?
2019/07/05(金) 21:07:04.96ID:ypzj5uvi
>>836
labelでもpanelでもいいんだけど境界線の上に置きたい。
置こうとしても、隠れてしまって前面に出せないのでどうしたらいいかわからない。
2019/07/05(金) 21:28:30.42ID:BC1QPJi0
当てずっぽうだけどParentをTpairSpitterにすれば実行時には上になる?ならないか?
2019/07/06(土) 09:03:58.53ID:nIvQZNy6
>>838
コンポーネントを継承してTMyPairSplitterみたいなもの作って
描画部分に手を加えたほうが応用も効くしソースもスッキリすると思う。
2019/07/31(水) 06:40:26.15ID:cxA9kCcM
Lazarus 2.0.4 - July 25, 2019, 12:17:38 pm
2019/07/31(水) 07:36:45.82ID:KjSExRFS
>>840
be planning やん。
be planning は便利でよく使う構文だからきっちり使えるようにしといたほうがいい
2019/07/31(水) 21:43:24.03ID:cxA9kCcM
>>841
ごめんなさい。寝ぼけてましたw
リリースされたと思って書き込んでしまったorz
2019/08/11(日) 06:58:29.91ID:nBSthP26
Lazarus Release 2.0.4 - August 06, 2019, 03:13:13 pm
2019/08/19(月) 08:03:02.74ID:lAiNzH12
FPC 3.2 は2019年度末予定っぽい
845デフォルトの名無しさん
垢版 |
2019/11/02(土) 17:36:12.44ID:zoLz180R
Lazrus Release 2.0.6 - November 01, 2019, 12:33:13 pm
2019/11/03(日) 22:59:45.28ID:vaTmWlaD
JVCLってインストールできますでしょうか?
2020/02/27(木) 21:04:57.36ID:re/ORI54
最近Lararus使い始めたんですが、普通に使えるのでびっくりしました。
Delphiで演算子オーバーロードとか使いまくってるソースも問題ないし。
演算子オーバーロードなんて昔は「ソースが一読ではわかんなくなるから反対」なんて思ってたのに。
2020/03/02(月) 07:51:50.68ID:NBY4tsQ4
文字コードUTF8が標準なのでむしろDelphiより使いやすいと思いますよ。
2020/03/06(金) 07:12:08.75ID:ywadnjOj
作ったexeが20メガ超えててなんだかなぁ〜とおもた
850デフォルトの名無しさん
垢版 |
2020/03/06(金) 10:30:39.19ID:50MIG5ia
C#ですら数kbだからな
どうせ要らんもんリンクしてるんだろ
2020/03/06(金) 19:54:28.29ID:bd/m3dXZ
C#は知ってても.NET Frameworkは知らなさそう
2020/03/06(金) 21:40:12.67ID:R7giY7iW
乱多忌む
853デフォルトの名無しさん
垢版 |
2020/03/06(金) 22:00:00.90ID:3lybco/N
デバッグ情報含んでるからストリップとスマートリンク有効にしろって昔からマニュアルに書いてあるぞ
UPXまでは別にやらんでもいいと思う
2020/03/06(金) 22:49:36.02ID:wjuomVAd
もうこの時代に20メガとかどうでもよくない
855デフォルトの名無しさん
垢版 |
2020/03/07(土) 18:19:17.95ID:RZgTMQsN
ktkr
https://srad.jp/story/20/03/06/1237211/
2020/03/07(土) 19:35:21.43ID:IKkjx2Oq
>>849
小さくする設定もある。
コンパイルしたソフトを小さくするソフトもある。
2020/03/07(土) 19:47:00.25ID:zDuQOlXy
Lazarus 側の言い分としては、最初からいろいろリンクしてるから、
これ以降機能追加してもサイズの増加は緩やかということらしいけど、
使いもしない機能リンクしないでほしいわな。
2020/03/18(水) 16:54:18.85ID:Dqfi0yj0
使いもしない機能はリンクしないよ。
ソースプリーズ。
2020/03/18(水) 23:29:19.07ID:mYKGnRUi
>>858
https://wiki.freepascal.org/Lazarus_Faq/ja
どうしてコンパイル後のバイナリがこんなに大きいの?
2020/03/24(火) 05:32:35.18ID:oNI0kRN8
>>859
書き方(翻訳の仕方?)のせいかもしれんが、使うからこそ組み込まれるのだよ。
コマンドラインアプリや、Windows API で自前のメインウィンドウだけしかないような
アプリを作って試してみればわかるが数キロバイトになる。
2020/03/24(火) 07:50:05.21ID:oNI0kRN8
英語版見てみてみましたが、最新版はかなり内容が違う気がします。
英語版を参考にしたほうが良いと思います。
2020/03/30(月) 20:53:33.92ID:G4pdB0Ew
FPC 3.2.0 rc1 始まったで
ttps://forum.lazarus.freepascal.org/index.php/topic,49110.0.html
2020/03/30(月) 20:59:52.63ID:eoyd+Aho
>>862
FPCて何?
864デフォルトの名無しさん
垢版 |
2020/03/30(月) 21:35:58.65ID:G4pdB0Ew
>> 863
Free Pascal Compiler
2020/03/30(月) 22:55:15.59ID:eoyd+Aho
>>864
ありがとう
2020/04/03(金) 07:39:20.81ID:ZRX+L3ok
今月新しいバージョンが出っぽいね
We are planning the next release: Lazarus 2.0.8 - April 02, 2020, 10:43:37 am

The Lazarus team has scheduled
Lazarus 2.0.8 for April 2020 (estimated 14th to 20th)
2020/04/03(金) 07:51:25.94ID:hz9zQM0o
コンパイラは3.0.4のままだけどね
FreePascalのリリースがまだかかりそうだから急遽決めたようだね
本来なら次はLazarus 2.2の予定だったみたい
2020/04/16(木) 19:40:21.03ID:M7pyaxbj
Lazarus 2.0.8 リリースされたよ
2020/04/17(金) 20:44:07.94ID:6AJsww7o
何が変わった?
870デフォルトの名無しさん
垢版 |
2020/04/18(土) 12:59:34.39ID:VYQrLT4k
>>855
外字って、Unicodeにも私用領域ってあるよな。まああくまでも私用領域であって
外字専用に使うための領域ってわけではないが、そう使っても良いんだよな。
2020/06/10(水) 17:57:11.63ID:syGP3Y23
画面拡大してるとHI-DPI有効にしないとダイアログがでかくなるんすね。
はまりましたわ。
2020/06/26(金) 22:59:51.25ID:xWDNnrNa
しらんまにFPC3.2出てましたね。Lazarusの先っちょも3.2対応だとか!
2020/06/26(金) 23:02:47.90ID:xWDNnrNa
Lazarus2.0.10も7月には出るとか。
2020/07/08(水) 16:42:25.19ID:EmKCEK3t
FPC3.2はDynamicArrayに大分手が入ったみたいなので、この機会に不定長のビットマップ作成の
手持ちライブラリ書き換えてみるかな。
というか素直にFCL使えって話だが、FCLってFPCのコマンドラインアプリでも使えるの?
2020/07/08(水) 23:32:55.82ID:Omm2EhW3
今の1個前のバージョンでLazarus&FPCの現状はどんなもんかと以前試してみたけど
10年前のDelphiにも遠く及ばない出来だったな
コンパイル速度、デバッグモードの開始、終了が遅く(終了からIDEの切り替えが特に遅い)
フォーム無しのプログラムでメッセージダイアログを出すとコマンドプロンプト画面が出る始末
今も改善されていないんだろうなぁ
2020/07/09(木) 22:35:37.41ID:vgKD2Erb
ソースコードもあるし、別に本家にご注進してもいいじゃん。
なんでそこで終わらなくても良くない?
2020/07/11(土) 06:48:10.64ID:HRglNQfp
2.0.10 アナウンスはまだだけどsouceforge で公開されたね
2020/07/13(月) 19:02:02.10ID:40nMIxb+
Lazarus Release 2.0.10 - July 11, 2020, 10:55:58 am

もうリリースされたって書き込まれていたけど一応。
879デフォルトの名無しさん
垢版 |
2020/07/25(土) 21:12:59.00ID:U1cr0g+B
TMemo の表示領域を得たいのですが

var
R: TRect;
begin
R.Left := 0; R.Top := 0; R.Right: = 0; R.Bottom : =0;
Memo1.Perform(EM_GETRECT, 0, Longint(@R));
ShowMessage(Format('Left=%d, Top=%d, Right=%d, Bottom=%d', [R.Left, R.Top, R.Right, R.Bottom]));
end;

を実行すると Delphi 7 だと正しい値が得られるのに Lazarus 2.0.10 だと
Left=0, Top=0, Right=0, Bottom=0
になります。

正しい値を得る方法を教えていただけませんでしょうか。
2020/07/26(日) 02:33:28.70ID:B7m4RLK/
SendMessage(Memo1.Handle, EM_GETRECT, 0, Longint(@R));
でよさそう
881デフォルトの名無しさん
垢版 |
2020/07/26(日) 11:23:45.22ID:q3dJt1F9
>>880
ありがとうございます。
早速試してみたところ上手くいきました。
2020/07/28(火) 07:26:11.04ID:YeCqnbYl
せっかくのオープンソースだし、
不具合っぽいのは本家に報告してあげるとよいよ
2020/08/23(日) 00:18:52.03ID:BDUM7k5s
Delphi6でさんざん書いてたのに長いことマイコンのほう(ArduinoやそのほかのC)ばっかりやってたからすっかりPascal忘れてるw
久々にPCのアプリ書こうと思っってLazarusはじめたらforやifですらあれどうだっけ?ってなってるよ
2020/11/05(木) 00:09:00.98ID:8Msi6NAs
TChartのチュートリアルを和訳してみたけどWikiに追加する方法がよくわからない
2020/12/02(水) 23:28:05.83ID:r6aZV9ch
FreePascalのXMLチュートリアル、サンプルのしょうもないミスを修正したいが
どうすりゃいいんでしょうか。
まぁPascal使うような極まりきった方々は別にミスあっても自分で修正するでしょうけど・・
2020/12/02(水) 23:30:01.43ID:r6aZV9ch
マルチスレッドでレイトレーシングアプリを書いたが、LinuxでもWindowsでも
普通に動くんでビックリしましたわ。
マルチスレッド絡みだからOSとかの癖とかで差異があって大変だと思ってたので。
ちゃんとライブラリで差異を吸収してんですねぇ。
2020/12/02(水) 23:31:33.19ID:r6aZV9ch
あまり大声で言うべきではないでしょうが、LazarusのGTK3サポート、
まだアルファ版というのがちょっと切ない。
自分の作るしょっぱいアプリだったらFreePascalのGTK3バインディングで
十分だろうからそっちから攻めるべきか。
2020/12/23(水) 15:41:35.78ID:lutaimDh
ざっくり調べるとQtバインディングの方はQt6が最新でQt5はサポートしているということか。
であれば現状自分のしょっぱいLinuxアプリはQt5バインディングにしといた方が
良いかもしんないにゃー。
別にGTK2でも全く問題ないのですが・・・・
2020/12/23(水) 16:37:45.86ID:lutaimDh
しかしGTK4が出てGTK2はEOLになった訳だが、ソースは公開されてるから永遠に使えるし、
別に自分の作るしょっぱいアプリなら見栄えとかも気にならない。
そりゃPython2が消えるのに時間かかるわけですわ。
2020/12/25(金) 22:27:48.26ID:ri6ukwlu
とりあえずlazbuildでlpiファイルを指定してやればコマンドラインでビルド出来るのが
わかった。
これで素直にemacsでのコーディングにチャレンジできますな。
2021/01/04(月) 00:32:46.18ID:UbmKQSc4
Lazarusからブランチされたと思しきCodeTyphon。
公式サイト見る限り、LazarusよりIDE環境は進んでそう。
https://www.pilotlogic.com/sitejoom/
2021/01/04(月) 08:44:40.23ID:yz1hRW6c
Lazarusはシングルウインドウになったらええのに
2021/01/19(火) 14:59:49.28ID:yIqZdVPk
FAQ見るとシングルウィンドウにするんだー、だからペインドッキングのパッチは
ノーセンキューなんて書いてあるのにねー。

GTK3サポート共々今どんな塩梅なんですかね。
2021/01/19(火) 20:51:23.69ID:yIqZdVPk
何を思ったかデスクトップPCをDebian/Linuxに、エディタはemacsでコーディングをしてる。
emacsのデフォルトはgnu-pascalサポートが入ってるのでObjectPascal拡張があると不便。
よくわからんまま、emacs delphi.elで検索かけてgithubにあるopacal.elを入れて
M-x opascal.elとしてみたら普通に動くようです。

そうまでしてなんでemacsで書かねばならんのかわからんのですが・・・
2021/02/27(土) 11:50:38.32ID:/3KARqRa
Lazarus Release 2.0.12 - February 24, 2021, 09:03:56 pm
2021/02/28(日) 23:10:14.65ID:mKlp/j+j
あ、もう出てたんですね。
リリースノート見る限りバグフィックスが主体であんまし新機能はなさ気な雰囲気ですが
使ってみた方いかがでしょうか。
897デフォルトの名無しさん
垢版 |
2021/03/09(火) 15:37:27.70ID:l78vZ82J
windows10 で lazarus 2.0.12 を利用していますが、以下のようなコードの2か所で修飾子エラーになります
{MODE Delphi} なら大丈夫なのですが {$mode objfpc} の場合、どのように変更すればよろしいのでしょうか

type
PPHashItem = ^PHashItem;
PHashItem = ^THashItem;
THashItem = record
Next: PHashItem;
Key: string;
Value: Integer;
end;
TStringHash = class
private
Buckets: array of PHashItem;
protected
function Find(const Key: string): PPHashItem;
end;

function TStringHash.Find(const Key: string): PPHashItem;
var
Hash: Integer;
begin
Hash := HashOf(Key) mod Cardinal(Length(Buckets));
Result := @Buckets[Hash];
while Result^ <> nil do
begin
if Result^.Key = Key then <--- この部分が修飾子エラー
Exit
else
Result := @Result^.Next; <--- この部分も修飾子エラー
end;
end;
2021/03/09(火) 18:54:46.70ID:rOOOnHPb
Result^ を Result^^ にすればいいんじゃね?
2021/03/09(火) 20:18:39.79ID:MhdCCkF1
>>898
上手く行きました
ありがとうございました
900デフォルトの名無しさん
垢版 |
2021/05/22(土) 19:39:35.52ID:WqI2sMHS
3.2.2リリースage
2021/05/22(土) 22:29:54.34ID:PvGX7Iml
まだ開発続いとったんかい
2021/10/26(火) 21:43:41.35ID:8mnatHSz
Delphiのライセンス切れてるし、Community Editionは毎回新バージョンに更新しないといけないから
これを機にFreePascalにしてみるか
貧弱なIDEはVSCodeで補えそうだし
2022/01/08(土) 18:10:12.68ID:+pfXixh3
Lazarus Release 2.2.0 - January 05, 2022, 11:57:19 pm
2022/05/15(日) 19:08:49.28ID:/ysfaPE8
program MyProgram(input, output);
のようにプログラム名にパラメーターが付いたコードを見かけました。
Pascalの方言なのでしょうか?
それともFree Pascalでも見られるものでしょうか?
2022/05/22(日) 12:24:51.68ID:Z7pvlCmg
>>904
質問に質問で返してすみませんが、あなたは

void int main( int argc, char *argc[])
はcの方言だと思いますか?
それともGNUCでも見られるものでしょうか
2022/05/22(日) 13:54:17.54ID:AZNH+fge
void int mainってコンパイルエラーでは?
2022/05/22(日) 22:03:25.27ID:Z7pvlCmg
>>906
しまった(苦笑
2022/05/24(火) 12:07:51.00ID:/3mhcllS
Lazarus Release 2.2.2 - May 19, 2022, 09:26:08 am
909デフォルトの名無しさん
垢版 |
2022/05/26(木) 19:00:16.04ID:9mlaCQEY
本家のForum にレジストしても確認メールが届きません。
どうしたものでしょうか。
迷惑メールとかも見ましたし再送信とかも試しましたががまったく来ません。
910デフォルトの名無しさん
垢版 |
2022/05/26(木) 19:36:53.93ID:MuCsRUFl
抵抗されてるのかもね
2022/09/30(金) 02:46:22.20ID:NV97RnvW
Lazarus Release 2.2.4 - September 28, 2022, 10:08:10 am
2022/10/04(火) 15:58:36.29ID:i5Up1tp0
Windowsアプリの速度は改善したの?
2022/10/18(火) 09:21:39.14ID:muJtZzp1
Lazarus製のアプリケーションのexeのショートカットをつくって実行時の
大きさを最小化としても最小化で起動しないのだがどうすればいいのかな
2022/10/19(水) 00:06:57.42ID:imuHRl6B
>>913
Delphi ではプロジェクトファイルをごにょごにょしてたので
Lazarus では多分 .lpr ファイルにごにょごにょ

Application.CreateForm(TForm1, Form1);
//ここに↓これを入れて判断
if CmdShow = SW_MINIMIZE then Application.Minimize;
Application.Run;
2022/10/19(水) 09:56:54.13ID:ozKA7OU5
>>914
あいにく動作しませんでした

メインフォームのOnCreateイベントハンドラーに
case CmdShow of
SW_SHOWMINNOACTIVE: WindowState := wsMinimized;
SW_SHOWMAXIMIZED: WindowState := wsMaximized;
end;
と書いたらうまくいきました
2022/10/20(木) 08:50:49.47ID:rL6ktv6z
AmazonにKindle本として佐々木優という人が書いたLazurus・Free Pascalのセルフ出版の
本が何冊かのっている(読み放題のKindle Unlimited対象)
役に立つかどうかは別にして日本語の本というのはめずらしいかも
2022/10/20(木) 10:06:08.31ID:7LO4Bhg7
>>916
応援の意味で何冊か買いました。Unlimited もいつ対象外になるかわからんし。
2022/10/22(土) 14:34:30.76ID:4hbuG1Ym
UbuntuでC++Builderを導入できなかったのでDelphiの本読んで勉強してます。

思い通りに動くと楽しいです。
919デフォルトの名無しさん
垢版 |
2022/11/15(火) 14:25:03.73ID:ktesV7KK
サンプルの xmlstreaming を参考にして設定を書き出す処理を作ってます。
TComponent を継承して設定データのクラスを作ろうとしているんだけど、
その中にさらに TComponent 派生クラスを入れ子にすると、その項目が書き出されない。
入れ子のクラスを TPersistent 派生にすると書き出されるんだけど、項目名が
ドットで区切られた形でかなり違和感。
xmlstreaming の中でコメントアウトされている Form (Self) を書き出す処理を有効にしてみると、
入れ子のデータは「children」タグに囲われていい感じで出力されているんだけど、
どうやればできるんでしょうか?
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;
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;
2022/11/15(火) 22:24:52.25ID:1BrVYPVp
>>921
ありがとうございます。書き出せました。
wiki のストリーミングのところ読んでもそんなこと書いてなかったけどな。
TWinControl に実装されてるから Form ならちゃんと書き出されたんですな。
人をハメようとしてるとしか思えないな。検索しても、英語の情報でも全然ないし。
とにかく、ありがとうございました。
2022/12/14(水) 20:13:02.80ID:WtdZKbBc
これは壮観。過去50年以上にわたる「プログラミング言語の人気の変遷」をアニメで紹介するムービー【やじうまWatch】 - INTERNET Watch
s://internet.watch.impress.co.jp/docs/yajiuma/1463502.html

pascalって人気あったんだね
レスを投稿する

レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況