X



【Delphi互換!?】FreePascal/Lazarus その2【GPL】
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん
垢版 |
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
0816デフォルトの名無しさん
垢版 |
2019/02/06(水) 05:01:13.57ID:xrz7pH3/
今日、Lazarus 2.0.0 がリリースされたってよ。
0817デフォルトの名無しさん
垢版 |
2019/02/06(水) 07:31:28.76ID:2MpR9+RV
昔Lazarusインストールしたらアンインストールできなくなったらから使うのやめた
0818デフォルトの名無しさん
垢版 |
2019/02/06(水) 10:28:15.52ID:+qagyc5o
金の切れ目が縁の切れ目
0820デフォルトの名無しさん
垢版 |
2019/02/28(木) 08:21:58.12ID:J0qaWP9D
インストール先は 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 ファイルの格納先を個別に指定するのがおすすめ。

もちろん、インストーラが勧めてくる旧バージョンのアンインストールを実行しないこと。
0822デフォルトの名無しさん
垢版 |
2019/03/09(土) 22:26:05.47ID:MctiKVi6
Write once, run any architectureを目指すFree Pascalはもっと注目されていい
0828デフォルトの名無しさん
垢版 |
2019/05/07(火) 22:10:10.01ID:WYmdE2fC
久しぶりにLazToApkをバージョンアップしたら、ビルドの仕方が変わっていて使い方がわからず撃沈。
OldVersionもHPにないし困ったなあ。
昔のファイルがあればいいけどなあ、ハードディスク内を探してみるか。
0831デフォルトの名無しさん
垢版 |
2019/05/09(木) 07:23:31.91ID:riNy8fVT
この機会に手動ビルドを研究したほうがよい。
最近やってないけど大した手間じゃない。
0832デフォルトの名無しさん
垢版 |
2019/05/09(木) 07:27:45.97ID:riNy8fVT
巷によくある、 C++ で作った .so ファイルを apk にする手順を
Laz で作った .so ファイルと読み替えるだけ。
0833デフォルトの名無しさん
垢版 |
2019/06/17(月) 21:13:48.03ID:7jkihj6t
久々に使い始めたんだけど、ブレークした時にクラスのインスタンスの内部データって見られないんだっけ?
Integer とかの単純な変数は見られるんだけど、例えば TStringList のインスタンスに登録されてる文字列とか。
昔作ったプログラムを見てるんだけど、どうやったか覚えてない。
0835デフォルトの名無しさん
垢版 |
2019/07/02(火) 18:35:04.45ID:RhWJXLyF
TpairSpitterの境界線の上に文字を置きたいのですが、どうしたら良いでしょうか。
境界線のつまみを隠したいのと文字を置きたいのが理由です。
アイデアをください。
0837デフォルトの名無しさん
垢版 |
2019/07/05(金) 21:07:04.96ID:ypzj5uvi
>>836
labelでもpanelでもいいんだけど境界線の上に置きたい。
置こうとしても、隠れてしまって前面に出せないのでどうしたらいいかわからない。
0838デフォルトの名無しさん
垢版 |
2019/07/05(金) 21:28:30.42ID:BC1QPJi0
当てずっぽうだけどParentをTpairSpitterにすれば実行時には上になる?ならないか?
0839デフォルトの名無しさん
垢版 |
2019/07/06(土) 09:03:58.53ID:nIvQZNy6
>>838
コンポーネントを継承してTMyPairSplitterみたいなもの作って
描画部分に手を加えたほうが応用も効くしソースもスッキリすると思う。
0841デフォルトの名無しさん
垢版 |
2019/07/31(水) 07:36:45.82ID:KjSExRFS
>>840
be planning やん。
be planning は便利でよく使う構文だからきっちり使えるようにしといたほうがいい
0845デフォルトの名無しさん
垢版 |
2019/11/02(土) 17:36:12.44ID:zoLz180R
Lazrus Release 2.0.6 - November 01, 2019, 12:33:13 pm
0847デフォルトの名無しさん
垢版 |
2020/02/27(木) 21:04:57.36ID:re/ORI54
最近Lararus使い始めたんですが、普通に使えるのでびっくりしました。
Delphiで演算子オーバーロードとか使いまくってるソースも問題ないし。
演算子オーバーロードなんて昔は「ソースが一読ではわかんなくなるから反対」なんて思ってたのに。
0850デフォルトの名無しさん
垢版 |
2020/03/06(金) 10:30:39.19ID:50MIG5ia
C#ですら数kbだからな
どうせ要らんもんリンクしてるんだろ
0853デフォルトの名無しさん
垢版 |
2020/03/06(金) 22:00:00.90ID:3lybco/N
デバッグ情報含んでるからストリップとスマートリンク有効にしろって昔からマニュアルに書いてあるぞ
UPXまでは別にやらんでもいいと思う
0857デフォルトの名無しさん
垢版 |
2020/03/07(土) 19:47:00.25ID:zDuQOlXy
Lazarus 側の言い分としては、最初からいろいろリンクしてるから、
これ以降機能追加してもサイズの増加は緩やかということらしいけど、
使いもしない機能リンクしないでほしいわな。
0860デフォルトの名無しさん
垢版 |
2020/03/24(火) 05:32:35.18ID:oNI0kRN8
>>859
書き方(翻訳の仕方?)のせいかもしれんが、使うからこそ組み込まれるのだよ。
コマンドラインアプリや、Windows API で自前のメインウィンドウだけしかないような
アプリを作って試してみればわかるが数キロバイトになる。
0861デフォルトの名無しさん
垢版 |
2020/03/24(火) 07:50:05.21ID:oNI0kRN8
英語版見てみてみましたが、最新版はかなり内容が違う気がします。
英語版を参考にしたほうが良いと思います。
0864デフォルトの名無しさん
垢版 |
2020/03/30(月) 21:35:58.65ID:G4pdB0Ew
>> 863
Free Pascal Compiler
0866デフォルトの名無しさん
垢版 |
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)
0867デフォルトの名無しさん
垢版 |
2020/04/03(金) 07:51:25.94ID:hz9zQM0o
コンパイラは3.0.4のままだけどね
FreePascalのリリースがまだかかりそうだから急遽決めたようだね
本来なら次はLazarus 2.2の予定だったみたい
0870デフォルトの名無しさん
垢版 |
2020/04/18(土) 12:59:34.39ID:VYQrLT4k
>>855
外字って、Unicodeにも私用領域ってあるよな。まああくまでも私用領域であって
外字専用に使うための領域ってわけではないが、そう使っても良いんだよな。
0871デフォルトの名無しさん
垢版 |
2020/06/10(水) 17:57:11.63ID:syGP3Y23
画面拡大してるとHI-DPI有効にしないとダイアログがでかくなるんすね。
はまりましたわ。
0874デフォルトの名無しさん
垢版 |
2020/07/08(水) 16:42:25.19ID:EmKCEK3t
FPC3.2はDynamicArrayに大分手が入ったみたいなので、この機会に不定長のビットマップ作成の
手持ちライブラリ書き換えてみるかな。
というか素直にFCL使えって話だが、FCLってFPCのコマンドラインアプリでも使えるの?
0875デフォルトの名無しさん
垢版 |
2020/07/08(水) 23:32:55.82ID:Omm2EhW3
今の1個前のバージョンでLazarus&FPCの現状はどんなもんかと以前試してみたけど
10年前のDelphiにも遠く及ばない出来だったな
コンパイル速度、デバッグモードの開始、終了が遅く(終了からIDEの切り替えが特に遅い)
フォーム無しのプログラムでメッセージダイアログを出すとコマンドプロンプト画面が出る始末
今も改善されていないんだろうなぁ
0876デフォルトの名無しさん
垢版 |
2020/07/09(木) 22:35:37.41ID:vgKD2Erb
ソースコードもあるし、別に本家にご注進してもいいじゃん。
なんでそこで終わらなくても良くない?
0878デフォルトの名無しさん
垢版 |
2020/07/13(月) 19:02:02.10ID:40nMIxb+
Lazarus Release 2.0.10 - July 11, 2020, 10:55:58 am

もうリリースされたって書き込まれていたけど一応。
0879デフォルトの名無しさん
垢版 |
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
になります。

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

GTK3サポート共々今どんな塩梅なんですかね。
0894デフォルトの名無しさん
垢版 |
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で書かねばならんのかわからんのですが・・・
0896デフォルトの名無しさん
垢版 |
2021/02/28(日) 23:10:14.65ID:mKlp/j+j
あ、もう出てたんですね。
リリースノート見る限りバグフィックスが主体であんまし新機能はなさ気な雰囲気ですが
使ってみた方いかがでしょうか。
0897デフォルトの名無しさん
垢版 |
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;
0900デフォルトの名無しさん
垢版 |
2021/05/22(土) 19:39:35.52ID:WqI2sMHS
3.2.2リリースage
0902デフォルトの名無しさん
垢版 |
2021/10/26(火) 21:43:41.35ID:8mnatHSz
Delphiのライセンス切れてるし、Community Editionは毎回新バージョンに更新しないといけないから
これを機にFreePascalにしてみるか
貧弱なIDEはVSCodeで補えそうだし
0904デフォルトの名無しさん
垢版 |
2022/05/15(日) 19:08:49.28ID:/ysfaPE8
program MyProgram(input, output);
のようにプログラム名にパラメーターが付いたコードを見かけました。
Pascalの方言なのでしょうか?
それともFree Pascalでも見られるものでしょうか?
0905デフォルトの名無しさん
垢版 |
2022/05/22(日) 12:24:51.68ID:Z7pvlCmg
>>904
質問に質問で返してすみませんが、あなたは

void int main( int argc, char *argc[])
はcの方言だと思いますか?
それともGNUCでも見られるものでしょうか
0909デフォルトの名無しさん
垢版 |
2022/05/26(木) 19:00:16.04ID:9mlaCQEY
本家のForum にレジストしても確認メールが届きません。
どうしたものでしょうか。
迷惑メールとかも見ましたし再送信とかも試しましたががまったく来ません。
レスを投稿する

レス数が900を超えています。1000を超えると表示できなくなるよ。

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