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

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
2013/05/07(火) 22:33:05.79
>>332
それだけの読解力があればまずまずだよ。
335デフォルトの名無しさん
垢版 |
2013/05/08(水) 01:07:35.49
なんかそのものずばりの回答ないから俺が答えとく。

>MacでLazarusとFreePascal → Windws API コードの部分はそのまま使える?

使えません。WindowsAPIはWindows上でしかコンパイルできない。
それはWindowsユニットがWindows用Lazarusにしか用意されてないから。

FPCがWindowsでもMacでもLinuxでもコンパイルできるということと
その中で使われてるソースが互換しているかどうかは別問題。
どれでもコンパイルできるソースにしたかったらそういうソースを書くこと。
どういう所に注意すればよいかは本家サイトのドキュメントに書いてある。

> DELPHIでwindowsAPIで仕方なく行なっていたコードは、Lazarusではコンポーネントが殆ど?準備されていると思ってもいいのですか?

基本的にはDelphiでWindowsAPIを使っていたコードはLazarusでもWindowsAPIを使う
と考えた方が良い。ただしQtとかGtkでやる場合はそれぞれの機能にアクセスできる
からWindowsAPIを使わなくてもできる場合もあるかもね。

俺は、WindowsAPIをソース上に直書きしないようにしている。
使う時はコンポーネントか別クラスにしておいて、そこだけOS別に書き分ける。
コンパイラ指令でも良いかもしれないけど、見辛いしね。
2013/05/08(水) 06:06:10.34
>>333
ttp://www.youtube.com/watch?v=HGYSLgtYx-U
2013/05/08(水) 08:17:35.09
糞エディタでリファクタリングすんなw
2013/05/08(水) 16:41:38.57
リファクタリングはエディタの機能じゃない罠w
339デフォルトの名無しさん
垢版 |
2013/05/09(木) 02:15:31.42
>335
さんくす
2013/06/04(火) 18:26:30.91
Turbo Pascal の公式リファレンスが Archive.org にあった。英語版だけど。
http://archive.org/search.php?query=turbo%20pascal%20AND%20collection%3Aadditional_collections
2013/06/04(火) 18:59:51.24
ゴミだね > 340
342デフォルトの名無しさん
垢版 |
2013/07/03(水) NY:AN:NY.AN
過疎
2013/07/03(水) NY:AN:NY.AN
linuxのutf-8環境で書いたプログラムをshift-jisのWinに移植しようとしたけど書き方ミスったな
GUIでstringのCaptionとかをwidestringで管理しようとして出し入れで問題があったのかそこだけ文字化けする
型をstringにすれば解決したけどlinuxでは普通に動くから気づかなかった
全部書き換えるの面倒だなあ
2013/07/07(日) NY:AN:NY.AN
>>343
どういう場面か分からないから確かかどうか分からないけど、Winは過去
互換性から、かってに文字列のコーディングを変更して読み込むのが
あるから、そこで引っかかっているのかも。

こういうのって結構やっかいだよね。
2013/07/08(月) NY:AN:NY.AN
ボチボチ勉強中なんだけど、

ttp://wiki.lazarus.freepascal.org/Multithreaded_Application_Tutorial/ja

ここみると極力マルチスレッドはやめれみたいなことが書いてある。
重い処理の応答改善にこそマルチスレッディングは有効だと思うんだけど。
重い処理してても最低限キャンセルは受け付けるべきで、実際にちゃんと作られた
アプリケーションはそうなってるんだけど、これはマルチスレッドの実装じゃないんだろうか。
2013/07/08(月) NY:AN:NY.AN
>重い処理してても最低限キャンセルは受け付けるべきで、実際にちゃんと作られた
>アプリケーションはそうなってるんだけど

マルチスレッドじゃなくても実装は可能

それよりマルチスレッドを避けろという議論の本質は
スレッド切り替えのオーバーヘッドが無駄ということ
2013/07/09(火) NY:AN:NY.AN
overlaped バンバンというのもしんどいなあ
2013/07/10(水) NY:AN:NY.AN
俺はむしろイベント処理の順番が狂う ProcessMessages は使うべきじゃないと思ってるんだけどな。
2013/09/14(土) 12:40:26.02
保守
2013/09/18(水) 01:32:41.05
Delphiはいいとして
Lazarusで開発されたソフトって世の中にあるの?
2013/09/18(水) 01:41:42.87
Lazarus は開発環境そのものなので。
FPC/*CL で書かれたものはあるの?っていみなら Lazarus そのもの
2013/09/18(水) 06:37:24.97
LazarusのHPみればわかることをわざわざ質問するアフォ
2013/09/18(水) 18:32:28.47
せっかく新しい仲間が増えようってのに
アフォとか書くのは良くないと思うな
2013/09/19(木) 04:05:48.65
>新しい仲間が増えよう

沈みゆく船に乗り込むアフォだろ?
2013/09/19(木) 06:17:51.49
アフォはイラネ
356デフォルトの名無しさん
垢版 |
2013/09/24(火) 16:31:53.62
企業向けのWindows向けシステムをLazarusで組んでる人っている?

DelphiスレでLazarusの名前が出てたのでインストールして
まだ一寸しか使ってないのですが
個人的には取りあえずDBGridで(MEMO)って出るのが取りあえず面倒だと感じてますが
他に問題になりそうな部分ありますか?
2013/09/24(火) 16:34:54.99
delphiに比べて実行時パフォーマンスはある程度は落ちると思います。
2013/09/24(火) 18:25:21.98
確かにキビキビ感は無いですね
マシンパワー上がってるからあまり感じないけど
古いマシンだと更にモッサリするのかな
2013/09/24(火) 19:36:08.15
Lazarusで作ったアプリってそれ単体で動くの?外部ライブラリとかインストールされてないとだめなの?
2013/09/24(火) 21:36:10.96
>>359
SQLiteとか簡単なDBでも使ってれば外部ライブラリを同梱しないとダメですね
ttp://wiki.freepascal.org/Lazarus_Database_Tutorial/ja

例えばフォームにボタンを張り付けただけのような単純なものはexe1本で配布可能です
サイズが巨大なのでstripで小さくしてから配布した方がいい
2013/09/25(水) 03:07:26.86
Delphiヘタコイタ時だけ活気づくな
Kylixの時もちょっと活気あったわ
2013/09/25(水) 10:59:59.77
>>356
問題を自分で解決できない人は素直に.NETとかの方がいいと思う。
2013/09/25(水) 13:35:47.86
>>362
ご忠告ありがとう御座います、問題が出れば当然自分で解決しますよ、
質問した趣旨は問題を既に経験した人に
「こんな事があったよ」と言う意見を出して頂ければと言う事です
2013/09/25(水) 14:44:47.26
業務用だったら一番の問題はIMEのON/OFFの制御かな
2013/09/25(水) 15:25:30.62
初心者はマルチプラットフォームを意識すると混乱しがちだから
Windows専用にするのがよいと思う
2013/09/25(水) 16:44:10.39
Win8とMSIMEの組み合わせ固有の問題かも知れないが
日本語を入力しようとすると高確率でフリーズする
2013/09/25(水) 17:04:35.95
IMEのON/OFFはこれでどうだろうか。Delphi3の頃のものだけど。
Unit MyLib;
Interface
uses
WinTypes, WinProcs, Dialogs, sysUtils, Imm, Forms, StrUtils, Classes;

procedure KanjiOn(Handle : THandle);
procedure KanjiOff(Handle : THandle);

implementation

procedure KanjiOn(Handle : THandle);
var
imc : HIMC;
begin
imc := ImmGetContext(Handle);
ImmSetOpenStatus(imc,true);
ImmReleaseContext(Handle, imc);
end;

procedure KanjiOff(Handle : THandle);
var
imc : HIMC;
begin
imc := ImmGetContext(Handle);
ImmSetOpenStatus(imc,false);
ImmReleaseContext(Handle, imc);
end;

end.
2013/09/25(水) 19:52:36.55
本家に実装してもらったら良いように思うが
マルチプラットフォーム前提だから実装できないのかね
2013/09/26(木) 04:37:10.55
>業務用だったら一番の問題はIMEのON/OFFの制御かな

まだそうなの? FireMonkey、IME 管理出来ないけど業務で使えるって言う人はいるぞ
2013/09/26(木) 08:30:20.48
>>368
中の人に東アジア人がいないから後回しっぽい
2013/09/26(木) 14:27:07.24
Pascal使いは何故かロシア人が多いよな
学校の授業か何かであるのかね
2013/09/26(木) 15:46:31.84
ソースプリーズ
2013/09/27(金) 16:37:58.45
我が家の環境だとデバッグで実行するとフリーズして動かなくなる事がある
ブルー画面に落ちるわけでもないがタスクマネージャーも出せない
[CTRL][ALT][DEL]も効かない

因みにWin8(64bit)にてLazarus 1.1.99pre
2013/09/27(金) 18:26:01.74
デバッグで実行とはなんぞ?
2013/09/29(日) 08:22:10.08
leak viewer ってどこにあんの?
376デフォルトの名無しさん
垢版 |
2013/09/30(月) 00:48:31.15
ちょいちょいLazarusで業務システム作ってるよ、
業務システムに多いレポートはPowerPDFを使ってます(Lazarus版の方ね)
フリーのIDEだとLazarusはダントツで高性能
2013/09/30(月) 11:45:59.62
高性能でも若いプログラマはpascalわからないし
webアプリがメーンだから確実に沈む船だ
2013/09/30(月) 15:58:11.38
あっそ。.NETにしとけ。
2013/10/01(火) 12:01:30.07
.NET .NET って言うけど、あんなのもう廃れだよw
2013/10/01(火) 15:48:50.34
日本語がどマイナーな言語なんだから
日本人のプログラム言語もどマイナー言語でいいのだよ
2013/10/02(水) 03:32:07.53
Lazarus64bit版使ってる人いる?
32bit版と何が違うの?
2013/10/02(水) 05:43:25.01
何って整数型のビット数に決まってんじゃん
383デフォルトの名無しさん
垢版 |
2013/10/02(水) 11:07:33.08
>>381
lclでサポートされてないのがあるから64bit版はまだ辞めた方がいいよ
384381
垢版 |
2013/10/02(水) 12:51:52.15
>>383
なるほど
ありがとう御座います
2013/10/02(水) 14:50:29.79
>>373
GDB Debuggerかな?うちでもフリーズするからnoneにしてある
ブレークポイントとか使えなくて不便だけど仕方ない
2013/10/02(水) 15:42:51.58
というかpre使っといて文句だけいわれても困るわー
387385
垢版 |
2013/10/02(水) 18:48:29.89
>>386
俺は安定版だけど
GDB onでデバッグしてるとsavedialogとか開くと同時にフリーズする事がある
原因調べたけど再現性もないし環境の違いによる問題かも知れない
2013/10/02(水) 19:12:18.92
俺は1.1SVNや1.3SVNだけどデバッグしてて落ちたことはないな。
自分のプログラミングミス以外でだが。
2013/10/02(水) 22:36:22.03
ファイルダイアログでフリーズするのってアンチウイルスソフトではあるまいか。
avast使っててなった事があるわ
プロジェクトファイルのパスをウイルスチェックから除外してみ
2013/10/03(木) 01:20:23.95
違うと思う
2013/10/03(木) 10:43:20.60
Lazarusって、Vistaの新しいダイアログ(TaskDialogとかIFileDialog)に
対応してるの?
2013/10/03(木) 11:23:46.08
適当なバージョンの VCL ソースをパクれば使えるよ。
基本、FPC/Lazarus はそいうもんだ
2013/10/03(木) 15:07:24.84
というかなぜ「対応」できないと思うのか。
2013/10/03(木) 15:55:16.89
「できない」か、じゃなくて「してる」か、を聞いてるようにしか見えないけど
2013/10/03(木) 16:43:51.72
つまり「LCLを使うだけで素敵なダイアログで表示できますか?」という質問だということね。
エスパー乙。
2013/10/03(木) 16:45:08.29
「答えはソースをいじればできます」でOK?
2013/10/03(木) 17:49:57.69
LazarusのLCLは基本VCLのソースをパクってるライセンス違反の塊ってこと?
だとすれば、つかえねーな
2013/10/04(金) 03:05:08.29
Kylix の時に RTL/CLX のソースコードが GPL 化した。
という判断で丸パクリしたのが大本。
2013/10/04(金) 06:52:00.16
嘘はイカンな
2013/10/04(金) 07:59:18.29
何の根拠もなく憶測でものをいうのは隣国の伝統芸
2013/10/05(土) 22:29:43.67
これは酷い
402デフォルトの名無しさん
垢版 |
2013/10/13(日) 22:16:16.16
同じプロジェクト内のフォームAを継承して
フォームB、フォームCを作ろうとしていますが
デザイン時にフォームAを編集しても
フォームBやCに変更内容が一切反映されません
実行してみるとフォームAの内容が継承されているのですが
デザイン時に何かと不便なのでデザイン時にも
継承元のフォームの内容を表示させるには
どのようにすれば良いのでしょうか?
403402
垢版 |
2013/10/13(日) 22:40:13.88
継承先のフォームを一度閉じて
エディタから[F12]でフォームを再表示させたら反映されました

毎回一旦閉じないと反映されないのですかね、
任意のキーで反映されるか自動的にやってくれたら良いのですが
そこまで面倒でもないので毎回一旦閉じる事にします
お騒がせしました
2013/10/26(土) 14:50:23.16
Android用のプログラム書いてみようかと思うんだけど
普通に動くのかな?作ってる人いる?
2013/10/26(土) 18:34:48.85
>>404
スレ違い
2013/10/27(日) 11:16:07.95
SL4A 版の Pascal 作ってくれ
407デフォルトの名無しさん
垢版 |
2013/11/04(月) 19:55:06.54
>>405
Lazarusでクロスコンパイルする話だろ
スレ違いなわけねーだろ
408デフォルトの名無しさん
垢版 |
2013/11/27(水) 14:45:36.30
レポートコンポーネントが無いのが辛いよな
2013/12/03(火) 08:58:59.12
可変になる印刷命令部をスクリプトで外に出せば必要十分と
世界が気づいちゃったしな
2013/12/05(木) 07:57:02.91
枠等は描画ソフトでデザインできるしな
2013/12/30(月) 22:50:20.58
うちでは
デバッガが止まりすぎてまともに使えない
惜しいわこれ
412デフォルトの名無しさん
垢版 |
2014/01/02(木) 19:19:06.64
>>409
どういう処理?
HTML+CSSを作るってこと?
2014/01/04(土) 18:31:03.39
PDFってことじゃね?
414デフォルトの名無しさん
垢版 |
2014/01/04(土) 19:22:23.91
1.0.14にアップしたら TPQConnectionがなくなったお(´・ω・`)
415デフォルトの名無しさん
垢版 |
2014/01/04(土) 19:24:35.88
64bit版だったのかな?ダウンロードして再インスコしてみる(´・ω・`)
2014/01/04(土) 19:54:26.70
32bit版入れたら治った(`・ω・´)
2014/01/04(土) 23:30:57.81
なんか
Windows7 64bit版でLazarus 32bit版動かしてたら
デバッガがまともに動かないから憤慨していたら
XP互換モードで結構安定して動く様になったから驚き

ただ、エディタでタブのインデントが3文字だったり2文字だったり8文字だったりするのが嫌。何これ。
418デフォルトの名無しさん
垢版 |
2014/01/05(日) 13:24:34.26
>>417
メニューの「ツール」 -> 「オプション」
「エディタ」ツリーの中の「スマートタブ」チェックをOFFにする
2014/01/05(日) 13:34:55.19
>>418
おう、なんかいいこと教えてもらっちゃったぜサンクス
420デフォルトの名無しさん
垢版 |
2014/02/02(日) 22:29:15.38
ActiveXは使えないの?
2014/02/05(水) 02:03:22.96
これ利用する上でc++に対するアドバンテージって?
2014/02/05(水) 11:50:47.13
Pascal が使える。
423デフォルトの名無しさん
垢版 |
2014/02/05(水) 23:27:38.88
Delphi資産が使える。
2014/02/06(木) 01:45:24.36
慣れ親しんだ Delphi っぽい環境で Linux のプログラムを作れる。
2014/02/06(木) 16:46:03.05
コンパイルが早いのでストレスが減る
2014/02/07(金) 06:20:32.70
>>420
使えるYO!
2014/02/07(金) 13:19:18.46
使えないYO!
2014/02/07(金) 18:42:18.21
どっちだYO!
2014/02/09(日) 17:15:58.72
wiki.freepascal.org/LazActiveX
2014/02/10(月) 14:42:07.76
(仕様としては)使えるYO!
(実用的には)使えないYO!
2014/02/11(火) 03:21:50.70
Delphi コードのパクリだからライセンス的に危ない。
2014/02/11(火) 05:46:18.67
情報が古い。パクリはクリーンルームで排除されてるよ
2014/02/11(火) 10:20:22.96
だれも確認してないけどな。
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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