【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 ググってもろくな情報がヒットしないもんなあ。もうやめるか(あっさり)。
やっぱり C/C++ が無難なところなのかねえ。 悩みがよくわかんないもの、ぐぐってもヒットするはずないよ。 結局Linux歴が浅いんじゃなくて人間歴が浅かったんだなw 本サイトに山のように情報があるのにヒットしないのは
自分のぐぐりかたがおかしいとは死んでも考えないのが
ゆとり世代なのか? >>124
標準かねぇ・・・
それってうまいのか? ほら、やっぱり自尊心の高いカスばっかりが食いついてきた。
宿題スレなんかでも Pascal は質問(依頼)者ボコボコだもんな。 おまえの質問の仕方が変だからぼこぼこにされてるだけだろ >>124
実質Delphi の独裁政権なんだから標準化なんて無意味だよ。
つまり実質Delphiが標準。 >>132
Pascal 信者のクズどもは、そういって質問者をボコりたいだけよ。
C/C++ 関連のスレなんか、「エスパーしてみようか」なんて親切な人がいっぱいだ。
こんなこと言ってるとゆとりがどうのと言い出すんだろうな。
ホント見てておもしれえ。 >>134
エスパーが必要な質問ばっかしてこと白状しちまったな。
まあ馬鹿だと人生大変だろうががんばって生きろ。 親切にしてほしい人が2chなんかにくるな、って思うよ。 地方零細IT企業でdelphi扱っているところに就職したものの、
エンバガデロの開発ツールを個人で購入するのを躊躇って
自宅で自習するためにdelphiの代替ぐらいしか思いつかない 来年上半期中にLazarus財団を立ち上げるらしいね 1.0になるなる詐欺なのに、そんなんで財団立ち上げんのか。
いや1.0にする為の前準備として団体を清算したいってことなのかな。
正直この停滞ムードを何とかしてくれるなら歓迎なんだがの。 バージョン番号なんてどうでもいいな。
スナップショット版使ってるが特に不満ない。 数値だけの繰り上げならいらんが
メジャーバージョン設定は、普通は「仕様のFIX」「バグの修正」という意味が伴ってくるので意味がないわけじゃない。
まあ1.0にしても某D言語のような例もあるけどw なんだかんだで一番安定して動きそうなのが windows な辺りとか
たしかにDっぽいのは理解出来なくもないが…うむややもすると
黒魔術オンパレードの道とかがオープンマイハートしちゃうんだ…みたいな印象はあるw >>147
解説本が出版されたりして盛り上がってんじゃん。日本以外では。 lazarus を眺めて思うのは、マンパワーが足りてなさか…
osx とか linux で動かすの面倒なんだな… バグトラとか見てるとrubyなんかと比べても頑張ってる方だと思うが。
言語を、というよりかはライブラリをコンポでどう組上げていこうか
というのが主な関心みたいなかんじなので…日本人でいじろうとする
ひとが少ないのは何となく理解は出来る
http://62.166.198.202/roadmap_page.php
http://62.166.198.202/my_view_page.php
ラインとしては0.99, 1.00, 1.20の三本立てで走ってそうだけど
積んで放置されてるのも多いかな…という印象を受けたのだった… >>155
こういうのをただ働きなのにまめに記録してくれる奴がいるというだけですごいと思うな FPC 2.6.0 のテストが始まったみたいね
ttp://wiki.lazarus.freepascal.org/Testers_2.6.0 とあるコンポが必要になって readme 読んだら
svn checkout http://svn.freepascal.org/svn/fpcprojects/lnet/trunk
then open lazaruspackage/lnetbase.lpk and compile it.
open the lazaruspackage/lnetvisual.lpk, compile it and install it and rebuild lazarus
とか書いてあって、コンパイルは分かるが
lazarusで install って何だとか
開発環境ごと再ビルドしないと追加できないのか
とか訳がわからなすぎて詰んだ… Lazarus ってすげえ適当というか、簡単な構造で動くんだな。ほとんどコピーするだけじゃん。
基本的にユーザー個別にインストールするようになってるのかな?fpc 以外は /home に入れちゃったよ。
にしても、俺が使う分には十分だな。去年思わず買っちまった Delphi XE どうしよ。 OSX版 lazarus (0.9.30.2RC1) を試しています
ビルドしてできる アプリケーションバンドルが
test/project1.app/Contents/MacOS/project1 (Symbolic Link → ../../../project1)
test/project1
... . .
といった感じで分離した構造になってしまいます。手動でコピーするのも面倒です。
シンボリックリンクなしでビルドしてくれるように設定するにはどうしたらいいのでしょうか? 少数派だから機械翻訳してフォーラムで聞くことを薦める。
ほとんどがネィティブじゃないから大丈夫。 >>165
どういうときに困る?tarの--dereferenceオプションを使って一つのアーカイブにしたものを展開するとか プロジェクトを新規作成して空っぽのウィンドウを表示するだけでも
Linux だと実行ファイルが 6MB ぐらいある。Windows だと 1MB ぐらい。
双方ともデバッグ情報を外部に作る設定。
Linux の実行ファイルががでかいのは仕方ないのかな。
>>164
いや、一応持っとく。 >>168
ただの build でなく、clean up and build してみるとか。 >>169
file で確認してもすでに stripped、当然 strip しても効果なし。
>>170
clean up は見当たらないんだけど、どこだろ。
一応消して構築したりしてみたけど、変わらず。
オプション変更(実行ファイルにデバッグ情報埋め込み)すると
10MB ぐらいになるから、関係ない気もする。
リンクするライブラリが違うからしょうがないのかな。 >>171
clean up build 、0.9.31の機能でした。めんご FAQ 読みあさってみたけど、どうも Linux だと 6MB ぐらいにはなるらしいね。
予想はしてたけど、使ってなくても基本機能は入ってるとかで。
まあ実行ファイルのサイズはともかく、どこかに LCL のドキュメントないのかな。
とりあえず Delphi 6 のヘルプ見て、補完機能やソース探りながらやってるけど、
プラットホーム依存の実装がいくつかあるから vim(ctags) のタグジャンプが
あてにならなくてにんともかんともだ。 >>173
どこかに LCL のドキュメントないのかな。
>とりあえず Delphi 6 のヘルプ見て、補完機能やソース探りながらやってるけど、
>プラットホーム依存の実装がいくつかあるから vim(ctags) のタグジャンプが
>あてにならなくてにんともかんともだ。
もう見てるだろうけど、
ttp://wiki.lazarus.freepascal.org/Lazarus_Documentation/ja#LCL 一部見た。設定ファイルに使えそうな TXMLConfig のリンクがなくて悲しい。
ぐぐって何となく使い方わかったけど、イマイチな感じ。
まだ Linux プログラムの作法もよくわからんのだけどね。 プロジェクトのオプションでバージョン情報を埋め込めるけど、Linux でこれを取り出す方法ってあるの?
そもそも Linux のバイナリにそういう情報があるのかわからんけど、わざわざあんなオプションがあるってことは
使えるんじゃないかと思うんだけど。知ってる方教えてくだせい。 なんか変わった?
とりあえず Windows 版は大きな変更は見られない (小さな変更も見られないが)。
相変わらず IDE での日本語入力には難ありだな。 delphiで簡単な情報の管理システムを作っています。
初めてのpascal,delphiで苦戦しています。。。
簡単なコードでのプログラミングでないと自作したことを説明もできないくらいのレベルです。。
今回、レコード型の配列で個人データ(名前、生年月日、登録番号、住所、電話番号)を5人分、入れておきたいのですがエラーばかりでてしまい、全くできてません。
簡単なものでもサンプルでもなんでもありがたいのでご教授ください。
後のFormで検索したりして引き出せるようにする予定です。。
Lazarusをあつかってるスレだったので、場違いかもしれませんが質問させていただきました。 >>187
すいません。。苦戦してるのはLazarusです
ミスです。 Unit1で配列を作って、そこにデータを入れたんですけど、ほかのUnitにどうやったらデータを持ち越して表示できますか? >>189
配列を両方のユニットに共通なグローバル変数にするか、
他のUnitの関数のパラメータとして渡す
>>189
ほんとに初心者でいまグローバル変数について、調べて少しわかったのですが、ソースをのせるのでみてもらってもいいですか? ていうか、お前 Pascal 以前にプログラミング自体どの程度わかってんの?
本質をきちんと理解してればたかだか言語が変わったぐらいで
そんなにうろたえることはないと思うがな。
Delphi スレ行った方が親切な奴が多いかもな。 unit Unit1;
interface
var
xx: array of aa; <---------グローバル変数
implementation
function fun1(..);
begin
xx := ??;
end;
end.
--------------
unit Unit2;
interface
implementation
uses
unit1;
function fun2(..);
begin
yy := xx[3];
end;
end.
>>189
ほかのUnitに持ち越すっていうか、オブジェクト指向でやるだろ普通。
他の言語だとどういうのがわかるの? >>192
>>194
javaを大学一年時に授業でやってはいたのですが、本質をきちんとは理解できなくて
delphiじゃないだりとここを紹介されました
>>193
ありがとうございます。。
さんこうにさせていただきます >>195
うーむ。多分言語云々じゃなくてプログラミングの基本から
勉強した方が良いような。
「宣言したレコード型を別Unitで使いたいけど宣言が見つからない」のか
「そのレコード型を使った変数に別Unitからアクセスできない」のか。
何もわかってないと質問の内容がわからないので答えようもない。
とはいえサンプルソースが欲しいんだよね?
ttp://www1.axfc.net/uploader/File/so/71587
サクっと書いたので識者が見たらいろいろ問題あるかもしれんが
参考にはなるだろう。ちなみにレコード型と配列じゃなくて
クラス型とTListにした。その方がDelphiスレの情報とか参考に
しやすいし。 >>197
期間も1ヶ月で、ソフトが指定されています
基本が理解できてないのは十分承知です、、
サンプルをいただけただけでもまた進展がありそうで、ありがたいです lazarus指定とか
もしかして会社の研修かなんかか
もしそうなら人に聴かずに
一ヶ月寝ないで勉強するがよろし >>199
学校の課題です
しっかり理解しないとという気持ちはあるのですが、ほかの授業などとの両立や起源の問題で
時間はかけているのですがこの程度で。。 >>201
またお前か。
Pascal はユーザー少ない上にこういう腐ったのが結構いるんだよ。
運が悪かったね。頑張ってくれ。 まあでも運動が才能で必要であるようにプログラマにも才能が必要なのは事実 この程度で才能が必要とか笑わせんな
二本足で歩くのに才能が必要か? pstype=(man,woman)と自ら作成したのですが、これを文字列型でラベルに表示する変換方法ありますか? program HelloWorld;
uses typeinfo;
type
MyEnum = (HELLO, WORLD);
var
str1,str2:string;
pinfo:PTypeInfo;
begin
WRITELN('StringにEnumの名前を代入する方法');
WRITELN('要:"uses typeinfo;"');
pinfo:=TypeInfo(MyEnum);
str1:= GetEnumName(pinfo, Integer(HELLO));
str2:= GetEnumName(pinfo, Integer(WORLD));
writeln( str1,' ', str2 );
end. >>217
参考にさせていただきます
unit Unit9;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
StdCtrls,bookdate;
type
{ TForm8 }
TForm8 = class(TForm)
hj: TLabel;
procedure FormActivate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form8: TForm8;
implementation
uses Unit1;
{$R *.lfm}
{ TForm8 }
procedure TForm8.FormActivate(Sender: TObject);
begin
hj.Caption:='dgfhg';
end;
end.
こんなふつうにラベルに文字列を代入させてるつもりなのに表示されません。
どういった不具合が考えられますか? FormActivateをコピペして貼っただけじゃ実行されないよ interface uses部にtypinfoを追加(GetEnumName関数を利用するため)。
type下に pstype=(man,woman);//列挙型を宣言する。
TForm1にButton1、Button2、Label1を配置、及びButton1、Button2のクリックイベントを作成。
TForm1のprivate部に手続き宣言。
procedure Label1CaptionView(value: pstype);
implementation { TForm1 }下、手続き作成。
procedure TForm1.Button1Click(Sender: TObject);
var
seibetu : pstype;
begin
seibetu:= man;
Label1CaptionView(seibetu);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
seibetu : pstype;
begin
seibetu:= woman;
Label1CaptionView(seibetu);
end;
procedure TForm1.Label1CaptionView(value: pstype);
begin
Label1.Caption := GetEnumName(TypeInfo(pstype),Ord(Value));
end; >>218
オブジェクトインスペクタにおける設定で、「Form8」のイベントOnActivateが設定されていないとか。
設定されていなければ、OnActivateの項目には何も表示されていないはずで、イベントが起こりません。
項目欄をクリックすれば、FromActivateを選択できるはず。 一昨年のうちにver1.0になるとか言ってたけど、全然進展ないね。
もうオワコンなのか? >>222
情報弱者は大変ですね
ftp://ftp.freepascal.org/pub/lazarus/snapshots/ >>223
バカじゃねーの?
1.0どころか未だに0.9.30とか31じゃねーか
1.0なんて何十年かかることやら・・・