【Delphi互換!?】FreePascal/Lazarus その2【GPL】
(クロス)オープンソースコンパイラ 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 Lazarus Release Canditate 1 for 2.0 - October 14, 2018, 08:45:13 pm ネイティブコードにコンパイルできて
IDEでポトペタできて
オブジェクト指向できて
現在も開発が続いてる
無料な言語・開発環境
てFree Pascal以外にありますか? >>795
今はJavaScriptみたいなスクリプトか、
Javaみたいな仮想マシン用コンパイラが人気なので
ネィティブコードにコンパイルできる言語自体がそもそも少ないだろうな。
他の条件と合わせると、おそらくないと思う。 ネイティブコードにこだわる理由がわからない。
本当にネイティブコードが必要なシビアなことをしている人が
こんなところで尋ねるとは思えない。 >>795
Windowsに限らなければMac/IOSのObjective-C/Swiftが生き残ってる
iPhoneが流行ったのはJavaが主流だったガラケー/他社スマートフォンに比べて
高速(当時)なのも一因だぜ? 後はQtも一応そうかも
VCLや(Objective-C/Swiftの)CocoaがGUIオブジェクトをシリアライズしたリソースファイルを
アプリケーションに同梱する形式なのに対して
あっちは最終的にC++の生成コードに変換するという違いはある >>797
こんなとことは失礼な。
でも、こんだけ無料で優秀な言語やIDEが配布されている世で
Delphiの会社はよくやってられるなぁとは思う。 まぁ日本じゃMVPがあの程度のツール作って自慢するレベルだからな… >>802
RADじゃなくね?
外部ツールとしてデザイナはいくつかあるみたいではあるけど kotlin のネィティブ対応がよくなってきたらしいけど
ポトペタできるのかな?
Lazarus の kotlin 版ホスィ 型推論付きどこでも変数宣言はいつ実装されるんだろう。 Lazarus Release Candidate 2 for 2.0 - November 01, 2018, 11:00:40 am FPC3.2もそろそろ出すみたいだし、androidやiphone対応が本格化しますな AnchorDockingDsgnで我慢しろ
フォームは別ウィンドウだが sparta_DockedFormEditor でフォームもドッキングできるぞ。 Lazarus Release Candidate 3 for 2.0 - December 24, 2018, 11:32:30 am 今日、Lazarus 2.0.0 がリリースされたってよ。 昔Lazarusインストールしたらアンインストールできなくなったらから使うのやめた インストール先は C:\lazarus\2.0-3.2 とかにして、
起動するときは、
C:\lazarus\2.0-3.2\lazarus.exe --primary-config-path=c:\lazarus\2.0-3.2-config
としてconfig ファイルの格納先を個別に指定するのがおすすめ。
もちろん、インストーラが勧めてくる旧バージョンのアンインストールを実行しないこと。 --primary-config-pathはlazarus.cfgに書いてる Write once, run any architectureを目指すFree Pascalはもっと注目されていい FormatDateTimeとかでそもそも元号対応してるのWindows版だけなのな たいてい西暦しか使わないね。お役所の書類で仕方なくって感じかな。 Lazarus Release 2.0.2 - April 16, 2019, 10:34:02 am 久しぶりにLazToApkをバージョンアップしたら、ビルドの仕方が変わっていて使い方がわからず撃沈。
OldVersionもHPにないし困ったなあ。
昔のファイルがあればいいけどなあ、ハードディスク内を探してみるか。 この機会に手動ビルドを研究したほうがよい。
最近やってないけど大した手間じゃない。 巷によくある、 C++ で作った .so ファイルを apk にする手順を
Laz で作った .so ファイルと読み替えるだけ。 久々に使い始めたんだけど、ブレークした時にクラスのインスタンスの内部データって見られないんだっけ?
Integer とかの単純な変数は見られるんだけど、例えば TStringList のインスタンスに登録されてる文字列とか。
昔作ったプログラムを見てるんだけど、どうやったか覚えてない。 TpairSpitterの境界線の上に文字を置きたいのですが、どうしたら良いでしょうか。
境界線のつまみを隠したいのと文字を置きたいのが理由です。
アイデアをください。 >>835
TLabelでなくTStaticTextでとかそいうこと? >>836
labelでもpanelでもいいんだけど境界線の上に置きたい。
置こうとしても、隠れてしまって前面に出せないのでどうしたらいいかわからない。 当てずっぽうだけどParentをTpairSpitterにすれば実行時には上になる?ならないか? >>838
コンポーネントを継承してTMyPairSplitterみたいなもの作って
描画部分に手を加えたほうが応用も効くしソースもスッキリすると思う。 Lazarus 2.0.4 - July 25, 2019, 12:17:38 pm >>840
be planning やん。
be planning は便利でよく使う構文だからきっちり使えるようにしといたほうがいい >>841
ごめんなさい。寝ぼけてましたw
リリースされたと思って書き込んでしまったorz Lazarus Release 2.0.4 - August 06, 2019, 03:13:13 pm Lazrus Release 2.0.6 - November 01, 2019, 12:33:13 pm 最近Lararus使い始めたんですが、普通に使えるのでびっくりしました。
Delphiで演算子オーバーロードとか使いまくってるソースも問題ないし。
演算子オーバーロードなんて昔は「ソースが一読ではわかんなくなるから反対」なんて思ってたのに。 文字コードUTF8が標準なのでむしろDelphiより使いやすいと思いますよ。 作ったexeが20メガ超えててなんだかなぁ〜とおもた C#ですら数kbだからな
どうせ要らんもんリンクしてるんだろ C#は知ってても.NET Frameworkは知らなさそう デバッグ情報含んでるからストリップとスマートリンク有効にしろって昔からマニュアルに書いてあるぞ
UPXまでは別にやらんでもいいと思う >>849
小さくする設定もある。
コンパイルしたソフトを小さくするソフトもある。 Lazarus 側の言い分としては、最初からいろいろリンクしてるから、
これ以降機能追加してもサイズの増加は緩やかということらしいけど、
使いもしない機能リンクしないでほしいわな。 使いもしない機能はリンクしないよ。
ソースプリーズ。 >>859
書き方(翻訳の仕方?)のせいかもしれんが、使うからこそ組み込まれるのだよ。
コマンドラインアプリや、Windows API で自前のメインウィンドウだけしかないような
アプリを作って試してみればわかるが数キロバイトになる。 英語版見てみてみましたが、最新版はかなり内容が違う気がします。
英語版を参考にしたほうが良いと思います。 FPC 3.2.0 rc1 始まったで
ttps://forum.lazarus.freepascal.org/index.php/topic,49110.0.html >> 863
Free Pascal Compiler 今月新しいバージョンが出っぽいね
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) コンパイラは3.0.4のままだけどね
FreePascalのリリースがまだかかりそうだから急遽決めたようだね
本来なら次はLazarus 2.2の予定だったみたい >>855
外字って、Unicodeにも私用領域ってあるよな。まああくまでも私用領域であって
外字専用に使うための領域ってわけではないが、そう使っても良いんだよな。 画面拡大してるとHI-DPI有効にしないとダイアログがでかくなるんすね。
はまりましたわ。 しらんまにFPC3.2出てましたね。Lazarusの先っちょも3.2対応だとか! FPC3.2はDynamicArrayに大分手が入ったみたいなので、この機会に不定長のビットマップ作成の
手持ちライブラリ書き換えてみるかな。
というか素直にFCL使えって話だが、FCLってFPCのコマンドラインアプリでも使えるの? 今の1個前のバージョンでLazarus&FPCの現状はどんなもんかと以前試してみたけど
10年前のDelphiにも遠く及ばない出来だったな
コンパイル速度、デバッグモードの開始、終了が遅く(終了からIDEの切り替えが特に遅い)
フォーム無しのプログラムでメッセージダイアログを出すとコマンドプロンプト画面が出る始末
今も改善されていないんだろうなぁ ソースコードもあるし、別に本家にご注進してもいいじゃん。
なんでそこで終わらなくても良くない? 2.0.10 アナウンスはまだだけどsouceforge で公開されたね Lazarus Release 2.0.10 - July 11, 2020, 10:55:58 am
もうリリースされたって書き込まれていたけど一応。 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
になります。
正しい値を得る方法を教えていただけませんでしょうか。 SendMessage(Memo1.Handle, EM_GETRECT, 0, Longint(@R));
でよさそう >>880
ありがとうございます。
早速試してみたところ上手くいきました。 せっかくのオープンソースだし、
不具合っぽいのは本家に報告してあげるとよいよ Delphi6でさんざん書いてたのに長いことマイコンのほう(ArduinoやそのほかのC)ばっかりやってたからすっかりPascal忘れてるw
久々にPCのアプリ書こうと思っってLazarusはじめたらforやifですらあれどうだっけ?ってなってるよ TChartのチュートリアルを和訳してみたけどWikiに追加する方法がよくわからない FreePascalのXMLチュートリアル、サンプルのしょうもないミスを修正したいが
どうすりゃいいんでしょうか。
まぁPascal使うような極まりきった方々は別にミスあっても自分で修正するでしょうけど・・ マルチスレッドでレイトレーシングアプリを書いたが、LinuxでもWindowsでも
普通に動くんでビックリしましたわ。
マルチスレッド絡みだからOSとかの癖とかで差異があって大変だと思ってたので。
ちゃんとライブラリで差異を吸収してんですねぇ。 あまり大声で言うべきではないでしょうが、LazarusのGTK3サポート、
まだアルファ版というのがちょっと切ない。
自分の作るしょっぱいアプリだったらFreePascalのGTK3バインディングで
十分だろうからそっちから攻めるべきか。 ざっくり調べるとQtバインディングの方はQt6が最新でQt5はサポートしているということか。
であれば現状自分のしょっぱいLinuxアプリはQt5バインディングにしといた方が
良いかもしんないにゃー。
別にGTK2でも全く問題ないのですが・・・・ しかしGTK4が出てGTK2はEOLになった訳だが、ソースは公開されてるから永遠に使えるし、
別に自分の作るしょっぱいアプリなら見栄えとかも気にならない。
そりゃPython2が消えるのに時間かかるわけですわ。 とりあえずlazbuildでlpiファイルを指定してやればコマンドラインでビルド出来るのが
わかった。
これで素直にemacsでのコーディングにチャレンジできますな。 Lazarusからブランチされたと思しきCodeTyphon。
公式サイト見る限り、LazarusよりIDE環境は進んでそう。
https://www.pilotlogic.com/sitejoom/ Lazarusはシングルウインドウになったらええのに FAQ見るとシングルウィンドウにするんだー、だからペインドッキングのパッチは
ノーセンキューなんて書いてあるのにねー。
GTK3サポート共々今どんな塩梅なんですかね。