X

【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
312デフォルトの名無しさん
垢版 |
2013/04/29(月) 20:15:29.17
>>311
◯ この質問に答えて?納得させきれる?
2013/04/29(月) 20:15:42.65
> で、Form上で文字を回転させるにはどうしたら良いの?
Delphiには無理

> タスクトレイに常駐させようとしたらどうしたら良いの?
Delphiには無理
314デフォルトの名無しさん
垢版 |
2013/04/29(月) 20:18:17.93
>>313
はぁーーー わかったわかったあんたはプログラムしたことない。
文字を回転やタスクトレイに常駐なんてあたりまえのようにみんなしている。

おれもDELPHIで常駐プログラムを作っている。
2013/04/29(月) 20:18:22.28
いい加減、DelphiとかPascalから足を洗ったほうがいいのに。

デスクトップ用言語としても使われてないし、
ウェブ用言語としても使われてない。
オープンソースでも使われてないし、
クローズドでも使われてない

まだ移行できてない奴が残っているだろうけど
今はもうCOBOLよりも将来性無いと思うぞ。
2013/04/29(月) 20:20:39.86
>>314
Macにタスクトレイなんて無いけど、
どうやって?
2013/04/29(月) 20:21:17.80
無いならタスクトレイを作ればいい。
318デフォルトの名無しさん
垢版 |
2013/04/29(月) 20:21:41.97
>>316
はぁー DELPHIははwindows版だけど
319デフォルトの名無しさん
垢版 |
2013/04/29(月) 20:23:30.30
>>317
MacはDockがある
2013/04/30(火) 05:52:12.18
>>318
だったら最初からそういえよw

答えてあげよう。

「スレ違いなので以下へどうぞ。
くだすれDelphi(超初心者用)その55
ttp://toro.2ch.net/test/read.cgi/tech/1353119767/」
2013/04/30(火) 07:26:52.40
>>315
メジャーならいいってわけじゃないからなw
日本人全員が国民車トヨタプリウスじゃつまらんだろ?
2013/04/30(火) 08:17:47.47
Delphi の需要なんていまどこに残ってるんだろう
大昔に Delphi で頑張ってた連中はとっくに別のに乗り換えてるだろ
2013/04/30(火) 19:04:55.13
>>322
えーと、ここはDelphiスレじゃないよ
2013/05/04(土) 11:22:59.22
>>322
Janeもあふも相変わらずDelphiで開発されてますが?
2013/05/04(土) 11:36:49.51
SkypeもまだDelphiみたいで安心
2013/05/06(月) 18:20:39.16
実家から帰ってきて覗いてみるとなんだかよくわからんことになっているが、
タスクトレイに関しては Additional に TTrayIcon というコンポーネントがあるよ。使ったことないけど。
それと、ここの住人は揚げ足とって喜ぶだけのアホばっかりだから結局は自分で調べた方が早いよ。
2013/05/06(月) 20:05:52.83
>>326
そんなこと聞いてません。Macの事を聞いているのですが。
328デフォルトの名無しさん
垢版 |
2013/05/06(月) 20:35:33.08
>>326
そんなこと聞いてます。さんくす。
Windows APIのコードをTTrayIconに置き換えるのですね。

ついでに、教えてください。
DELPHIでwindowsAPIで仕方なく行なっていたコードは、Lazarusではコンポーネントが殆ど?準備されていると思ってもいいのですか?
2013/05/06(月) 23:07:16.06
>>328
> Windows APIのコードをTTrayIconに置き換えるのですね。
いや、前述のとおり使ったことないんでコンポーネントについては調べてちょうだい。
Delphi XE とかにも付いてるけどな。

> DELPHIでwindowsAPIで仕方なく行なっていたコードは、Lazarusではコンポーネントが殆ど?準備されていると思ってもいいのですか?
それはわからん。
Windows 専用アプリで API を直接使えるかいうことなら、Lazarus も LCL の内部では結局 API 呼んでるはずなんで使えるんじゃないかな。
試してみたら MsgWaitForMultipleObjects とか候補に出てきたから大抵の API は定義されてるんじゃない?
Delphi とは違うコンポーネントもいろいろあるから、自分で調べるしかないね。

自分はせっかくの Lazarus なんで、Windows でも Linux でもビルドできるソースしか書かないんで
Windows の API 直接使ったことはない。ていうかどっちかというと Linux 寄りかな。
330デフォルトの名無しさん
垢版 |
2013/05/06(月) 23:10:47.29
>>329
さんくす。
2013/05/07(火) 06:05:33.59
結局Macの話は無しかよw
2013/05/07(火) 18:26:55.29
>>326
あの最初の質問を読んだだけで俺はすべて悟ったよ、という感じがムカつくなお前
2013/05/07(火) 22:21:25.02
このScalaの時代になんでPascal命なんだ? なんかメリットあるの?
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
うちでは
デバッガが止まりすぎてまともに使えない
惜しいわこれ
レスを投稿する

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

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