Kylix3
■ このスレッドは過去ログ倉庫に格納されています
0001Kylix
NGNGLinuxでビジュアルにC++開発ができるKylix3キタ。
0175174
NGNGhttp://www.blong.com/Conferences/DCon2001/VCLvsCLX/VCLvsCLX.htm
procedure TForm1.SetNewBtnEventFilter(Enable: Boolean);
var
Method: TMethod;
begin
if Enabled then
begin
FBtnHook := QButton_hook_create(ButtonEx1.Handle);
TEventFilterMethod(Method) := NewBtnEventFilter;
Qt_hook_hook_events(FBtnHook, Method);
end
else
FBtnHook.Free
end;
0176174
NGNGprivate Fform:TForm;
FHook:QPaintEvent_hookH;
function NewEventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl;
public constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
constructor TLine.Create(AOwner: TComponent);
var Method: TMethod;
begin inherited;
Fform := AOwner as TForm;
FHook := QPaintEvent_hook_create(FForm.Handle);
TEventFilterMethod(Method) := NewEventFilter;
Qt_hook_hook_events(FHook, Method);
end;
function TLine.NewEventFilter(Sender: QObjectH; Event: QEventH): Boolean;
begin Result:=False; //もとのEventFilterを呼び出すならFalse
if Self=nil then exit;
case QEvent_type(Event) of
QEventType_Paint: with FForm do begin
Canvas.MoveTo(10,100); Canvas.LineTo(100,10); Result:=False;
end;
end;
end;
destructor TLine.Destroy; begin QPaintEvent_hook_destroy(FHook); inherited; end;
0177174
NGNGQT.pas を漁ると QPaintEvent_hook_create というのがあったので コレだ! と思い試してみました。
実際、これで描画し、フック出来ます。しかし、 Form.EventFilter の方にもPaintが送られてしまう為
描画直後にFormイベントで消されてしまいます。
0178174
NGNGパネルは TCustomControl からの派生
フォームは TCustomForm からの派生 で Canvasプロパティは同名ですが
これを使う為には 区分けしなければいけません。
0179174
NGNG0180174
NGNGQPaintEvent_hook -> QWidget_hook にしても同じでした。 帰り値を True にすれば
そのメッセージは呼ばれないのですが、フォームへのメッセージが先に送られてしまう事があるので巧くゆきません。
また、どちらにしてもチラツキが酷いのでダブルバッファを自前で処理しなければならないとなると、
フックでサブクラスするというのはCLXでは旨い方法じゃないようです。
0181174
NGNGマウス座標については フック出来るので、これを使えばチラツキ無く出来そうだ
0182174
NGNG先週末、VirtualPCを入れて、HOLON-LINUXを入れた。 HOLONを入れたのは安かったからだ。(雑誌並)
インストールは大きな問題はなかった。 Sambaを入れるのを忘れないように注意。
さて、Ctrl+Alt+ファンクションキーで仮想コーンソールの切替が出来るのだが、
Ctrl+Alt+F7がどうやらX端末らしいが画面が酷く乱れてしまう。残念。
samba を使って WindowsフォルダをLinux側から参照出来るようにする。
こうすれば、コンパイルだけをVirtualPCだけで実現出来るのでgood
やり方は
1,Linux 側で mkdir /win と作成しておいて
2,Win側で 使いたいフォルダを共有にしておく アクセス許可は適当に
3,Linux側で smbmount //自分のコンピュータ名/公開フォルダ名 /win -o user=ユーザ名
パスを聞かれるので入力
0183174
NGNG許諾 をメールで受信にして、 添付ファイルのreg??.txtを読み込ませて使えるようになった。
試しに 実験していた clxアプリをそのまま sambaで設定してた/win から kylixで読み込んで実行させたら問題なく動いた。
0184174
NGNGuses Types
{$IFDEF LINUX}
,QGraphics
{$ELSE}
,Graphics
{$ENDIF}
;
とかしたいんだけど、これだと Delphi上で CLX使ってテストする場合に不便なんだよね。
CLXとVCLで共用する旨い方法ないかな?
0185174
NGNGbitmapの操作については CLX の方が VCL より軽いみたいだ。 自前で処理してるのかもしれない。
0186デフォルトの名無しさん
NGNGまともに使おうという人は >>174 が初めてかもしれん。
borland のために、そして Kylix4 が発売されるためにも頑張ってくれ。
0187デフォルトの名無しさん
NGNG中身をインクルードファイルに追い出して、こんなのどうだろう?(思いついただけ)
unit XXX_VCL;
interface
uses Controls, Forms;
{$INCLUDE XXX.inc}
end.
unit XXX_CLX;
interface
uses QControls, QForms;
{$INCLUDE XXX.inc}
end.
0188174
NGNGいや、まあそこまでガンバレと言われても・・・でもハジメテのレス・・・アリガト
>>187
うん。それも考えたんだけど、.INC側の編集でIDEの便利機能が働かないのと
自動コンパイルが働かなくて 修正したのに再コンパイルしてくれなくて
あれ? 直したのに直ってないって事があって美味しくなかったです。
結局 >>184 の方式で _CLX って名前にして、プロジェクト->ディレクトリ/条件タブ
の条件の所で CLXアプリで定義するようにしました。
ただ、やっぱり切り替えた後は再構成で全コンパイルさせないと、時々なんか怪しげな事が・・・自分のバグかもしれないけど。
0189デフォルトの名無しさん
NGNGIDE上でコンパイル実行したら、windowがおかしくなっちゃう、
具体的には、動きが止まって、それ以上何も起きないしIDEも
おかしくなって止まっちゃうんだけど、みんなはどうよ
OSは REDHAT9
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNGOpenEdition なら RedHat 7.3 まで、
Professional なら RedHat 7.2 までってのがネックだよな。
# いや、それらですら本当に「まともに」使えるのかは謎。
他のディストリは知りませぬ。
0193デフォルトの名無しさん
NGNG僕は、Delphi買ったおまけにKylixが付いてきただけなので
そんなに損は感じなかったが、Kylixまともに買ってたら結構
悲しかっただろうな
0194デフォルトの名無しさん
NGNG0195192
NGNGまあJBuilderはJavaで動くから、OSのバージョンにはあんまり依存しないんだけど。
ついでに言うと、SunのSun One Studioの動作環境も RedHat7.2。
RedHat7.2ってメーカーの立場からは扱いやすいんですかね。
で、何が言いたいかというと、Kylix4がもし出るとして、
動作環境がやっぱりRedHat7.2だったらどうしよう…、とちょっと思った。
いや、使ってないからあんまり困らないんだけど。
0196デフォルトの名無しさん
NGNG会社名、ビル名(Add1)が必須項目になっているけど、
なんて書くべきだろうか。ホビーユーザーは対象外なのかな?
0197デフォルトの名無しさん
NGNGCompanyに所属していない人はN/Aって記入してくださいと書いてあるよ。
0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNGメニューとかヘルプとかのフォントは読みにくいまま。
メニューやヘルプのフォントを変更する方法はないのか?
0200デフォルトの名無しさん
NGNG ̄ ̄ ̄∨ ̄ ̄ ̄
∧∧ ) .(´⌒(´
⊂(゚Д゚,,⊂⌒`つ≡≡≡.(´⌒;;≡.≡.≡.
 ̄ ̄ (´⌒(´⌒;;
0201デフォルトの名無しさん
NGNGつーかLinuxって何?
0202デフォルトの名無しさん
NGNG無修正画像入り口♪貴方のために頑張ります♪
http://angely.h.fc2.com/page004.html
0203デフォルトの名無しさん
NGNG[C++ ] time.h(60): E2141
[C++ ] time.h(63): E2141
[C++ ] time.h(79): E2238 '__END_NAMESPACE_STD'
[C++ ] time.h(63): E2344 '__END_NAMESPACE_STD'
[C++ ] time.h(79): E2141
[C++ ] time.h(129): E2238 '__BEGIN_NAMESPACE_STD'
[C++ ] time.h(60): E2344 '__BEGIN_NAMESPACE_STD'
[C++ ] time.h(129): E2141
[C++ ] time.h(151): E2238 '__END_NAMESPACE_STD'
[C++ ] time.h(79): E2344 '__END_NAMESPACE_STD'
[C++ ] time.h(151): E2141
[C++ ] time.h(179): E2238 '__BEGIN_NAMESPACE_STD'
[C++ ] time.h(129): E2344 '__BEGIN_NAMESPACE_STD'
[C++ ] time.h(179): E2141
[C++ ] time.h(182): E2141
[C++ ] time.h(185): E2293 )
[C++ ] time.h(189): E2141
[C++ ] time.h(224): E2238 '__END_NAMESPACE_STD'
[C++ ] time.h(151): E2344 '__END_NAMESPACE_STD'
[C++ ] time.h(224): E2141
[C++ ] time.h(231): E2293 )
[C++ ] time.h(237): E2238 '__END_NAMESPACE_STD'
[C++ ] time.h(224): E2344 '__END_NAMESPACE_STD'
[C++ ] time.h(237): E2141
[C++ ] time.h(242): E2293 )
[C++ ] time.h(242): E2228
って言われて/usr/include/time.hが怒られるんですけど。
どうしたらいいんでしょ?
0204デフォルトの名無しさん
NGNG過去ログくらい読もうぜ。
0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNGスレが板に分散してて見つけるのに一苦労。
0207デフォルトの名無しさん
NGNG0208デフォルトの名無しさん
NGNGでも、ありが�d
0209山崎 渉
NGNG0210デフォルトの名無しさん
NGNG[README_JA]
メモ:libqt.so は libborqt.so で置換されます。
今、↓なんだけど
/usr/lib/qt3/lib/libqt.so -> libqt.so.3.1.2
↓になるってことだすか?
/usr/lib/qt3/lib/libqt.so -> libborqt.so
そうなら、既存のアプリに影響はないのでしょうか?
0211山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0212デフォルトの名無しさん
NGNGでRedhat 8&9 でKylix3の動かし方がのっていたので試したら動きました。
具体的には
compat-glibc-6.2-2.1.3.2.i386.rpm
をネット上で検索して探し出してDL
rpm -Uvh compat-glibc-6.2-2.1.3.2.i386.rpm
を実行しプロジェクトのオプションのディレクトリ/条件でインクルードパスの/usr/includeを
/usr/i386-glibc21-linux/include
に変え一番最初にする。同じくライブラリパスの/usr/libを
/usr/i386-glibc21-linux/lib
に変え一番初めにする。
次に
<kylix3がインストールされたディレクトリ>/bin/startbcb or startdelphiの
スクリプトの
#!/bin/bash
の次の行に
export LD_ASSUME_KERNEL=2.2.5
加える
0213デフォルトの名無しさん
NGNGとりあえず、212の方法ではなく、RedHat8,9で使用する場合、
カーネルを2.4.21に変えたら問題なく動くぞ!
ソースは米ボーランドのNewsGroupにて!
0214↑
NGNG0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNG保存系のメニュー実行しようとすると、
ファイル指定ダイアログ(?)が出てきて、そこで止まっちゃう。
30分くらい経っても、戻ってこない。
前に2時間くらいほっぽといたら、
いつの間にか戻ってたことあったけど、
こんなんじゃ使えないよ ヽ(`Д´)ノウワァァァン
0217デフォルトの名無しさん
NGNG同じKernel2.4.20だし、とりあえずカーネルを上げてみたら?
いま、2.4.22が最新みたいだけど・・・・
0218デフォルトの名無しさん
NGNG0219↑
NGNG0220デフォルトの名無しさん
NGNGamazon.co.jpでみたけど、品切れみたいだね。2001/09/26の出版。
0221216
NGNG現在最新の kernel-2.4.20-0vl29.1 にしたら
でキタ━━━(゚∀゚)━( ゚∀)━( ゚)━( )━( )━(゚ )━(∀゚ )━(゚∀゚)━━━!!
これでやっとナニができまつ。(*´д`*)ハァハァ
サンクスコ。
0223デフォルトの名無しさん
NGNGそのままのプロジェクトをコンパイルするとtime.hでエラーがでるので
/usr/includeを一番上に設定した後コンパイルしようとすると
今度は下記のようなエラーが出るのですがどうすれば解決できるのでしょうか。。
どうかご教授お願いします。
[リンカ エラー] Unresolved external '__libc_csu_fini' referenced from /usr/lib/crt1.o
[リンカ エラー] Unresolved external '__libc_csu_init' referenced from /usr/lib/crt1.o
[リンカ エラー] Unresolved external 'free' referenced from /usr/local/kylix3/lib/libborcrtl_nonshared.a|tls.o
[リンカ エラー] Unresolved external '__errno_location' referenced from /usr/local/kylix3/lib/libborcrtl_nonshared.a|ptinit.o
[リンカ エラー] Unresolved external 'strlen' referenced from /usr/local/kylix3/lib/libborcrtl_nonshared.a|ptinit.o
[リンカ エラー] Unresolved external 'malloc' referenced from /usr/local/kylix3/lib/libborcrtl_nonshared.a|ptinit.o
[リンカ エラー] Unresolved external 'sprintf' referenced from /usr/local/kylix3/lib/libborcrtl_nonshared.a|ptinit.o
[リンカ エラー] Unresolved external '__assert_fail' referenced from /usr/local/kylix3/lib/libborcrtl_nonshared.a|tls.o
[リンカ エラー] Unresolved external 'calloc' referenced from /usr/local/kylix3/lib/libborcrtl_nonshared.a|tls.o
[リンカ エラー] Unresolved external 'memcpy' referenced from /usr/local/kylix3/lib/release/rtle.a|dstring.o
[リンカ エラー] Unresolved external '__libc_start_main' referenced from /usr/lib/crt1.o
0224デフォルトの名無しさん
NGNGによればKylix3はglibc2.2以上では動かないのでglibc2.1互換のパッケージが必要だそうです。
Mandrake9の場合
compat-glibc-7.2-2.1.3.3mdk.i586.rpm
を
http://rpm.pbone.net/
等で検索してDLし
rpm -Uvh compat-glibc-7.2-2.1.3.3mdk.i586.rpm
を実行してBCB IDEのプロジェクトのオプションのディレクトリ/条件でインクルードパスの/usr/includeを
/usr/i386-glibc21-linux/include
にして一番最初にし同じくライブラリパスの/usr/libを
/usr/i386-glibc21-linux/lib
にして一番最初にします。
TurboLinux9の場合glibc2.1互換のパッケージは
compat-glibc-2.1.3-1.i586.rpm
だと思われますが未確認です。
0226223
NGNGまたエラーが。。
漏れにはKylix使えなそう。。
0227デフォルトの名無しさん
NGNG自分は c しかやった事ないのですが、
このたびマウスでカチカチ操作できるアプリケーションを作る事になり、
思い切って kylix3 を買いました。今まで gcc しか触った事がなかったので、
RADに面食らってしまい、一体何をどうすれば良いのかさっぱり分からない状態です。
一応 C++Builder を使っている友人に色々教えて貰いましたが、
最初は良い入門書を読んで慣れた方が良いとアドバイスされ、
自分もそう感じるので本屋や電気屋を廻りましたが、kylixに関する本は、
kylix2の本が一冊あっただけで、どこにも置いていないので、
本屋に注文しようと思っております。
そこで何かお薦めの本があれば、是非とも教えて下さい。
よろしくお願いします。
0228デフォルトの名無しさん
NGNGObject Pascalじゃ駄目だというならKylix1,2本は全滅なんだよな。ただでさえ少ないのに。
で、Kylix3でC++の本って「Borland Kylixオフィシャルコースウェア C/C++編」しか知らない。
0229デフォルトの名無しさん
NGNG>Borland Kylixオフィシャルコースウェア C/C++編
これは良い本でしょうか?Pascalの本で良い物を知っていましたら、
是非とも紹介して下さい。お願いします。
0230デフォルトの名無しさん
NGNGDelphi本を買ったらいいんじゃないの?
田舎で、本屋で見てから買えないなら、amazonで注文して30日以内に返品すればよいでしょう。
0231デフォルトの名無しさん
NGNGどれかを読まれた事があるなら、アドバイス頂きたいので、2,3日様子見させて貰います。
あとdelphi本は数が多過ぎて、選ぶのが難しいですね。# kylix本は凄く少ないのに、、、
win用の本が多いようですし、、、出来ればdelphi本も1冊欲しいと思っています。
>>230
返品をする場合、送料や時間的なロスが多いので、
出来れば購入前に十分検討したいのですが、
生憎自分の目では調べられないので、
皆さんからのアドバイスを期待しています。
長文で済みませんでした。失礼します。
* はじめてのKylixプログラミング
* Kylix & Delphi―Object Pascal/CLXプログラミングの基本
* Kylix プログラミング入門 [CD-ROM付き] C magazine
0232デフォルトの名無しさん
NGNG0233デフォルトの名無しさん
NGNGとっくにっていうか最初からあるよ。
その名はDelphi。
0234231
NGNG0235デフォルトの名無しさん
NGNGぐぐって見てもほとんど"ボーランド kylix3発売!"みたいなニュースだし
0236デフォルトの名無しさん
NGNGDelphiみたいなわけにはいかないよな
0237デフォルトの名無しさん
NGNGC++Builder6 Vol1,2 カットシステム 田中和明/手塚忠則
高いけど、一気に読めて使い方は簡単に理解できました。
サンプルプログラムは WideString と AnsiString の違いで、
そのままでは動かないですが、kylixの入門書としても十分満足出来ました。
ある程度プログラムが作れたら、今度は delphi の本でも買います。では。
0238デフォルトの名無しさん
NGNG「起動時にフォント情報を生成しています」と出たまま動きません。
同じ現象になった人いませんか?
0239デフォルトの名無しさん
NGNG教えてください。
環境=Kylix3+Redhat9
0240デフォルトの名無しさん
NGNGcompat-glibc-6.2-2.1.3.2.i386.rpmを使って動きました。
では。
0241デフォルトの名無しさん
NGNGを使って動きました
0242デフォルトの名無しさん
NGNGでkylix3入れたらめちゃくちゃ重いんですけど・・・
0243デフォルトの名無しさん
NGNG漏れの環境では
「dclib.so.6.9は正しくないパッケージファイルです」
と言ってはねられる。RedHat9で>>224済み、カーネルは
オフィシャル最新の2.4.20-20.9です。
このパッケージが入らない以外は正常に動作してます。
0244デフォルトの名無しさん
NGNGprocedure TForm1.Button1Click(Sender:TObject);
var myLabel:QLabel;
begin
mylabel = QLabel.Create("Hello World");
Application.setMainWidget(myLabel);
myLabel.Show;
end;
みたいにKylixからQt叩くことってできないんでしょうか?
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNGこれでできました。
procedure TForm1.Button1Click(Sender: TObject);
var
myLabel:QLabelH;
myMessage:PWideString;
begin
new(myMessage);
myMessage^ := 'HelloWorld';
myLabel := QLabel_create(myMessage,Form1.Handle,PChar('name'),0);
QWidget_resize(myLabel,100,100);
QApplication_setMainWidget(Application.Handle,myLabel);
QWidget_show(myLabel);
dispose(myMessage);
end;
0247デフォルトの名無しさん
NGNGサンクス。
Qt.pasの中身は読んだんですが、やっと使い方がわかってきました。
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNG0250デフォルトの名無しさん
NGNGまあ、既存のフレームワークがあるかどうかを聞いてるんでしょうけど
0251デフォルトの名無しさん
NGNG0252デフォルトの名無しさん
NGNGノシ
0253デフォルトの名無しさん
NGNGプログラムはCしか知らないんだけど
Kylix試してみようかな
Fedora使いはじめたばかりなんだけど最初から
OOみたいにパネルにはいってたらいいのに。
0254252
NGNGこのまえ仕事でC/Sアプリを作った。
要するにDelphiでwin32APIたたかなくてもいい
範囲で作れるものならKylixでも普通に作れる。
それ以上のことをやろうとするとQtをたたくこと
になるけど、Qtの機能がフルに使えるわけじゃない
(たぶん)ところがちょっと悔しい。
0255デフォルトの名無しさん
NGNGlibhttpd.soを求められるけど、libhttpd.soって
Apache1.3.xxにはあったけど、Apache2系ではないです。
どうすればいいか知ってる人いますか?
0256デフォルトの名無しさん
NGNG気がするにょ
0257デフォルトの名無しさん
NGNGttp://www.autla.com/software/labo/linux.html
Delphi製フリーソフトってたくさんあるけど、Kylix使って移植したのは
初めて見た気がする。当初はたくさん出てくるのを期待してたんだけど、
やっぱり難しいのかな?
0258デフォルトの名無しさん
NGNGそのソフトもKylix用は機能に差があるみたいだし。
0259デフォルトの名無しさん
NGNG作者による宣伝か?
という気もするけど、珍しいのでなんとなく応援したくなった。
0260デフォルトの名無しさん
NGNGやっぱ難しいのか・・・。
>>259
いや、昔Windows版のユーザーでした。
0261デフォルトの名無しさん
NGNGいかんせんプラットホームがウンコ過ぎる。
KDEからその下のXから、各種サービスからシステムコールまで、
すべてにバグバグ、作りかけ放置、勝手な仕様変更の山。
オープンソース界の機嫌など気にせず、某ランドは
自社開発の基本DLL群を提供し、その上に堅固で高機能な
Delphi for Linuxを構築すべきである。
つまりカーネルから上は独自OSを作ってしまえばよい。
0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNGあるがままで提供です。
0264デフォルトの名無しさん
NGNGソースは?
0265デフォルトの名無しさん
NGNG0266デフォルトの名無しさん
NGNG0267デフォルトの名無しさん
NGNG我慢しないで笑っていいぞ
0268デフォルトの名無しさん
NGNG4行目でワロタ
0269デフォルトの名無しさん
NGNGkylixで作ったcgiプログラムって、
プロバイダなんかの貸しスペース上でも
動作するの? (もちろんIntelベースの
PCが使用されてるって条件で)
0270デフォルトの名無しさん
NGNG0271デフォルトの名無しさん
NGNG英語版をインストールすると、errorコード -10で、インストールできません。
USAのsupportのとこをみてerrorコード -10に対する対策をしたのですが、
まだできません。
どうしたらよいでしょうか?
0272デフォルトの名無しさん
NGNGFedoraの文字コードがUTF-8だから。
EUC-JPに変えれば文字化けとかGUIの狂いとかが直るよ。
"fedora 文字化け"でぐぐればeucに変える方法が引っかかるから探すべし。
0273デフォルトの名無しさん
NGNG外してたらスマン
0274デフォルトの名無しさん
NGNG日本語版はetc/sysconfig/i18nのLANGとetc/man.configのPAGERを"ja_JP.eucJP"に
かえてみたのですが、うまくいきませんでした。
etc/sysconfig/i18nにSYSFONTという項目があるのですが、これを変更したらよいのでしょうか?
英語版はデフォルトの言語(ログインの時にでる)を英語にしてみたり、
localeでLC_NUMERICを"en_US"にしてみたり、
rpm -qa | grep kylixでkylixのパッケージがすでにはいっていないか調べてみたり、
したのですが、うまくいきません。
■ このスレッドは過去ログ倉庫に格納されています