トップページ⇒tech
1001コメント311KB

C++Builder相談室 Part16

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/02/01(水) 12:56:05
C++Builderに関する質問・回答や議論等を行う相談室スレッド。

【前スレ】
 C++Builder相談室 Part15
 http://pc8.2ch.net/test/read.cgi/tech/1124614110/

過去スレ・関連サイトは>>2-7あたり。

※Borland C++ Compiler 5.5.1についての質問は以下のスレへ
 タダで使えるBorland C++ Part4
 http://pc8.2ch.net/test/read.cgi/tech/1091066805/l50
0653デフォルトの名無しさん2006/09/04(月) 16:41:55
Unit3.hがねーのに未解決の外部参照_Form2が出るわけねーだろ!
フックメッセージプロセスでググレカス

Form2つじゃダメなのか?
根本的に分かってないような希ガス。

超初心者板に(・∀・)カエレ!!
06546522006/09/04(月) 17:07:05
(・∀・)<・・・
×Unit3.h
○Unit2.h

更には
exe二つではなく、
Pj1.exe
Pj2.dll
でした。

pj1.exe内のフォームから、手作りDLLのpj2.dll内の関数を呼ぶにはどうすればいいのか?
オプションのリンカ等のプロパティ設定で解決するものなのか否か・・・。
0655デフォルトの名無しさん2006/09/04(月) 17:49:14
話が違うじゃねーか!
0656デフォルトの名無しさん2006/09/04(月) 18:01:26
Unit2の関数を呼び出すのと、Unit2内のTForm2のメソッドを呼び出すのでは全く話が違ってくるのだが。

>オプションのリンカ等のプロパティ設定で解決するものなのか否か・・・。
それは関係ない。
0657デフォルトの名無しさん2006/09/04(月) 18:01:56
>>655
pj2.dllをIMPLIBに掛けて、吐いたLIBをリンクしろ。
0658デフォルトの名無しさん2006/09/04(月) 18:02:34
まちごた
×
>>655
○654
0659デフォルトの名無しさん2006/09/04(月) 19:58:13
>>652
単にDLLの呼び方がわからないってことじゃん。
自分が何がわからないのかをわかっていないな。
レベル的には超初心者だな。
DLLの使い方をググるなりして勉強すれ。
0660デフォルトの名無しさん2006/09/04(月) 20:13:26
カットシステム Vol2をお薦めする。
0661デフォルトの名無しさん2006/09/05(火) 05:58:00
現在Delphi使いですが、これからC++Builderの学習をしようと思っています。
Delphiでは「Delphi 6 プログラミングバイブル」という名著がありますが、
これに匹敵するC++Builderの良い参考書はないでしょうか?
ご教授をよろしくお願いいたします。
0662デフォルトの名無しさん2006/09/05(火) 07:47:34
>>661
>>660のカットシステムのシリーズしかない。
むしろDelphi使えるんならあえてBuilder本は必要ない。
EffectiveCとかSTL本とかC言語辞典とかそいうC言語関連書籍をお薦めする。
Delphiと違ってC言語は覚えておいた方が良いことが多すぎ。
ソースの記述方法も人によって全然変わってくる。
0663デフォルトの名無しさん2006/09/06(水) 08:42:06
新しい TurboC++ Explorerを使ってみた感想
(オレは昔のC++Builderしか知らないし、
まだ2時間も使ってないから、かなり間違ってるかもしれん。)

コードエディタの機能には
ifやforを入力するだけで自動的に残りが生成される。
あるコードを選択して”囲む”をすると、forやtry文などを作れる。
ブロックの自動補完 折りたたみ などがあった

リファクタリングは名前の変更だけのようだ

操作方法はほとんど変わってない

コンポーネント数は多いが
ExplorerではIndyは無いみたいだ。
ActiveXは作れない
サードパーティーのコンポーネントは追加できない

新しいコンポーネントは
TTrayIcon  TGridPanel  TFlowPanel らしい

しかし、実際に使った感じはかなり好印象を持った
(あまり期待してなかったからかも知れないが)

コードエディタの機能は気に入ったよ

http://www.turboexplorer.com/homepage
0664デフォルトの名無しさん2006/09/06(水) 11:50:48
VBのChrやAscのように
Asc("あ") だと -32096
Chr(-32096) だと"あ"を返す文字変換関数ってBCBで作れますか?
0665デフォルトの名無しさん2006/09/06(水) 12:30:20
>>664
つくれます
0666デフォルトの名無しさん2006/09/06(水) 13:35:14
どなたか、テンプレに入ってた
<<有料>>
TMS Component Studio
http://www.tmssoftware.com/
の、StringGrid、ColumnGridに詳しい人or日本語サイト知ってる方いませんか?
ぐぐってもろくに出てこない・・・。
ヘルプがうんこすぎて、何も説明が書いてないメンバありまくりで困っています。
0667デフォルトの名無しさん2006/09/06(水) 16:54:44
Turbo C++のPascalコンパイラはまだまだだな
内部エラーが出るpasファイルが出まくる。
0668デフォルトの名無しさん2006/09/06(水) 19:25:25
Turbo C++入れてみたんですけど
VCLフォームアプリケーションとSDI・MDIフォームアプリケーションの違いって何ですか?
0669デフォルトの名無しさん2006/09/06(水) 19:29:43
つ ttp://pc8.2ch.net/test/read.cgi/tech/1144308804/ くだすれC++Builder(超初心者用)その2
0670デフォルトの名無しさん2006/09/06(水) 20:02:56
仕事の都合で VC++ .NET 2003 でコンパイルできてたのを
Borland C++ Builder 5.0 でコンパイルできるようにすることになりまつた。
でも、SSE,SSE2の命令をつかっていて、そこでアセンブルできなくて死にそうです。
Borland C++ Builder 5.0で SSE2 の命令が通るようになる方法は
あるでしょうか?

よろしくおねがいいたします。


0671デフォルトの名無しさん2006/09/06(水) 21:29:13
TMediaPlayerでogg形式の圧縮音楽ファイルを再生する方法を指南下さい。
0672本田2006/09/06(水) 22:50:18
>>670
>The Netwide Assembler
http://sourceforge.net/projects/nasm

nasmってアッセンプラーがあるけど。
0673デフォルトの名無しさん2006/09/06(水) 23:12:35
てかBCBにTASMのマニュアルがないのは‥‥
0674デフォルトの名無しさん2006/09/07(木) 04:37:02
>>672
ありがとうございます。
NASMとの組み合わせでは、インラインアセンブラはできないみたいです。
厳しい・・・

0675デフォルトの名無しさん2006/09/07(木) 04:58:15
paradoxでTQueryなんですが、
SQLのWHERE句と、Filterプロパティの同時利用は出来ないのですか?
0676デフォルトの名無しさん2006/09/07(木) 05:15:19
>>663
乙
0677デフォルトの名無しさん2006/09/07(木) 05:17:16
>>666
こんなのあったんだ
Office2007風のコンポとかあるし
わー、すげえw
0678デフォルトの名無しさん2006/09/07(木) 07:52:32
見た目なんて飾りです偉い人にはそれが分からんのです
0679デフォルトの名無しさん2006/09/07(木) 09:20:30
結局なんだ
Turboシリーズ複数言語を同時インストールできないと
Delphiも使いたいヤツはBDS買えと
そういうことですか
それにしてはUpgrade価格28000円はBDSの時の値段考えると……
0680デフォルトの名無しさん2006/09/07(木) 10:00:44
>>679
そうですどう考えてもボッています
0681デフォルトの名無しさん2006/09/07(木) 11:36:09
やってしもうた・・・
VS2003→VS2005に完全移行
VS2003をアンインストールしてから気がついた
.NET1.x向けアプリのメンテができないってどういうことよ('A`)
こんな別物なら製品名変えてくれよも後の祭りorz
0682デフォルトの名無しさん2006/09/07(木) 13:46:24
>>681
馬鹿?
当分の間、古い開発環境も残すのは常識じゃん。
0683デフォルトの名無しさん2006/09/07(木) 13:58:27
V$系はバージョン違いを共存できないっしょ。
0684デフォルトの名無しさん2006/09/07(木) 14:24:58
>>683
超阿呆の馬鹿?
http://msdn2.microsoft.com/ja-jp/library/ms246609.aspx
>複数バージョンの Visual Studio のインストール
>Visual Studio 6.0、
>Visual Studio .NET 2002、
>Visual Studio .NET 2003、および
>Visual Studio 2005 を同じコンピュータにインストールすることがサポートされています。
0685デフォルトの名無しさん2006/09/07(木) 14:42:10
>>684
超阿呆の馬鹿?

現実には競合起すよ。
0686デフォルトの名無しさん2006/09/07(木) 14:50:07
>>681
コピペウザイ
0687デフォルトの名無しさん2006/09/07(木) 17:12:47
>>670
すでにSSE/SSE2処理関数が完成してて今後メンテナンスする必要がないのなら、応急処置として __emit を使う手もある。
簡単に言うとasm文の中に任意のバイナリコード(アセンブル後のコード)を埋め込んでしまう方法。

でも自分ならSSE/SSE2処理関数をDLLに追い出してVC++でコンパイルするかな。
(VisualC++ 2005 Express Editionなら無料だし)
0688デフォルトの名無しさん2006/09/07(木) 17:23:08
>>681
古い開発環境はVMwareやVirtual PC使ってまるごと保存管理するといいよ。
0689本田2006/09/08(金) 01:22:23
>>674
> >>672
> ありがとうございます。
> NASMとの組み合わせでは、インラインアセンブラはできないみたいです。
> 厳しい・・・

インラインアッセンプラを使ってる所から、
SSE,SSE2のニーモニックコードを削除して、
コンパイルできるようにして、
アッセンブリ言語を出力する。

出力されたアッセンブリ言語に、
SSE、SSE2ニーモニックコードを加える、
それをNASMでアッセンブルする。
0690デフォルトの名無しさん2006/09/08(金) 01:34:45
-Eでmasmなりを指定しても良さそうだし
適当なところに asm include mymacros.inc みたいな感じでも
出来そうな気がするけど。

masmを代替アセンブラとして使えるように
アセンブラ出力に ifdef ??version とかが入ってるわけだし。
0691デフォルトの名無しさん2006/09/09(土) 01:30:51
よーわからん、ターボ君は無料?
で、boost使えますか? BCB6なんだが、安いなら自宅用に買うかな
0692デフォルトの名無しさん2006/09/09(土) 01:44:00
>>691
http://www.turboexplorer.com/jp/
0693デフォルトの名無しさん2006/09/09(土) 09:34:20
BCBからのバージョンアップは28,000円か
0694デフォルトの名無しさん2006/09/09(土) 10:01:10
BCBからBDSへは29800円でしたw
0695デフォルトの名無しさん2006/09/09(土) 10:28:38
paradox7なんですが、フィールド名に「1個目」ってのを使ったら
SQLの問合せで不具合を生じて困ってます。

SELECT 1個目 FROM mytable;

で、結果が
個目
1
1
1
1
1
1
1
ってなってしまいます。
ちゃんと1個目として認識させるにはどうしたらいいのでしょうか?
0696デフォルトの名無しさん2006/09/09(土) 10:58:25
>695
SQLの基礎からやり直してきてください
http://pc8.2ch.net/db/
06976952006/09/09(土) 11:50:52
わかりません><
0698デフォルトの名無しさん2006/09/09(土) 12:06:17
本屋で入門でも買えよ
0699デフォルトの名無しさん2006/09/09(土) 12:30:33
意地悪><。
0700デフォルトの名無しさん2006/09/09(土) 12:58:47
>>692
サンクス、まず家でやって会社で提案かな〜〜
0701デフォルトの名無しさん2006/09/09(土) 14:05:55
>>695
SQLはよく知らんが別に結果はそれでいいんじゃないのか?
07026952006/09/09(土) 15:41:37
もういいです。><
フィールド名変えました
0703デフォルトの名無しさん2006/09/09(土) 16:19:18
ネーミングセンスもプログラミングセンスもない香具師だな
0704デフォルトの名無しさん2006/09/09(土) 17:13:09
フィールド名って最初に数字来てもいいんだっけか?
0705デフォルトの名無しさん2006/09/09(土) 20:54:19
みんなフィールド名って言うんだな。
ややこしいからカラムで良いじゃん。
0706デフォルトの名無しさん2006/09/09(土) 21:45:21
列名
07074772006/09/10(日) 02:46:06
超初歩的で申し訳ないのですが原因が良く分からないので・・(一部省略してます)
[HogeClass.h]
#ifndef HogeClassH
#define HogeClassH
//---------------------------------------------------------------------------
class Hoge{
private:
public:
Hoge( void );
~Hoge( void );
}

[HogeClass.cpp]
//---------------------------------------------------------------------------
#include <vcl.h>
#include "HogeClass.h"
//---------------------------------------------------------------------------
Hoge::Hoge( void )
{
}
Hoge::~Hoge( void )
{
}

コンパイルするとHoge::Hoge( void )のコンストラクタの行で
[C++ エラー] HogeClass.cpp(10): E2111 ここでは型 'Hoge' は定義できない
[C++ エラー] HogeClass.cpp(10): E2136 コンストラクタには戻り型は指定できない
と怒られるのですが、何故なのでしょうか・・orz
0708デフォルトの名無しさん2006/09/10(日) 02:46:39
失礼、名前欄は無視して下さい
0709デフォルトの名無しさん2006/09/10(日) 03:00:27
void 全部消してごらん
0710デフォルトの名無しさん2006/09/10(日) 03:01:13
あとヘッダ側の最後の}の後ろに;がないな
0711デフォルトの名無しさん2006/09/10(日) 03:10:28
>>709-710
ヘッダの最後の;が抜けていたのが原因だったようです
ありがとうございました
0712デフォルトの名無しさん2006/09/10(日) 08:57:28
メインスレッドから生成したTThreadのクラスに値を渡すのと
TThreadのクラスからメインスレッドへ値を返すには具体的にどのようにやればいいのでしょうか?

現在はメインスレッドにpublic変数を定義してTThreadのクラスから参照していますが
よくないやり方のような気がしてならないのです
0713デフォルトの名無しさん2006/09/10(日) 11:18:54
>>712
TThreadを継承したクラスを作ってるはずだからそっちに受け渡し用のメンバ関数を作ればいい。
べつにメイン側にメンバ関数を作ってもいいと思うが。

言うまでもないと思うがスレッド間の同期には気をつけるように。
0714デフォルトの名無しさん2006/09/10(日) 14:59:22
>>713
レスありがとうございます
試行錯誤してみます
0715デフォルトの名無しさん2006/09/10(日) 18:05:45
SAFE_DELETE()が定義されていない関数と言われるのですが
何かinclude必要なものありましたっけ?
0716デフォルトの名無しさん2006/09/10(日) 18:40:05
>>715
誤爆?
0717デフォルトの名無しさん2006/09/10(日) 23:39:29
SAFE_DELETE()が定義されていない関数と言われるのですが
何かinclude必要なものありましたっけ?
0718デフォルトの名無しさん2006/09/11(月) 00:23:05
http://www.google.co.jp/search?q=safe_delete
0719デフォルトの名無しさん2006/09/11(月) 00:24:32
全く参考になるサイトがありませんね
0720デフォルトの名無しさん2006/09/11(月) 01:28:18
一目瞭然ですけど。
0721デフォルトの名無しさん2006/09/11(月) 04:10:35

 Turbo C++ は、
Borland Developer Studio 2006 Professionalの
C++Builder2006とほぼ同等の機能を持つBorland(DevCo)の新製品


TurboC++についてBorlandの説明サイト
http://bdn.borland.com/ja/article/33666

C++Builder2006の新機能
http://www.borland.com/resources/jp/pdf/white_papers/whats_new_bcb2006_ja.pdf

Turboのブランド復活
http://www.itmedia.co.jp/enterprise/articles/0608/08/news056.html

TurboC++ 機能一覧pdf
http://www.turboexplorer.com/files/jp/turbocpp_features.pdf

Turbo Explorerは、下記Webサイトからダウンロードして入手のほか、
雑誌や書籍等の付録CD-ROMとしても提供する計画とか。
Turbo Professionalは、9月19日より出荷を開始予定。

http://www.turboexplorer.com/jp/
http://www.borland.com/downloads/download_turbo.html

0722デフォルトの名無しさん2006/09/11(月) 15:48:16
ほぼ同等の機能を持つモノの単身が28000円
は高杉なんすけど
一度BDS2006であの値段出してるんだから
UGは2万円以下にすべき
俺は買わんぞ
0723デフォルトの名無しさん2006/09/11(月) 19:14:28
BDSの方がお買い得ですかね?
0724デフォルトの名無しさん2006/09/11(月) 19:26:12
正確に言えば、6月までのBDS優待販売が一番お得だった

今のTurbo Proの値段見たら、Highlanderの発売を待つよな
0725デフォルトの名無しさん2006/09/12(火) 01:18:30
もともとサードパーティーのコンポーネントは使わないんだよなー
そうすると無償版で十分
0726デフォルトの名無しさん2006/09/12(火) 01:27:36
自作コンポも使えないじゃん。
0727デフォルトの名無しさん2006/09/12(火) 01:53:38
自作コンポも使わんよ
0728デフォルトの名無しさん2006/09/12(火) 16:09:56
どうでもいいけど、テンプレにある
<<有料>>
TMS Component Studio
http://www.tmssoftware.com/

TAdvStringGrid,TAdvColumnGridは100万行・列まで対応してるらしいぜ!
自pcで試したら、メモリ不足って言われてメイクで落ちたが・・・orz
0729デフォルトの名無しさん2006/09/12(火) 20:30:19
Turboも使わんよ
0730デフォルトの名無しさん2006/09/12(火) 22:02:22
BDS2006あるからね。
0731デフォルトの名無しさん2006/09/13(水) 01:48:48
1行レスの低能アンチさん達乙
Borlandスレのアンチにソックリだが、まさかそこから来たんじゃないよな  ま、思考方法が同じなんだと思う
もうちょっと中身のある文章書いた方が利口に見えると思うよ
0732デフォルトの名無しさん2006/09/13(水) 06:21:55
AnsiStringのメンバ関数「Format」の使い方がわかりません。
すみませんが、教えていただけないでしょうか?

また、このような基本的な事は、どのように調べたらよいのでしょう?
(オンラインヘルプでは意味不明なのですが、ふつうそれで
理解できるものなのですか)
0733デフォルトの名無しさん2006/09/13(水) 07:32:58
>>732
ヘルプだけで、わかる人にはわかる。
0734デフォルトの名無しさん2006/09/13(水) 15:31:48
>>732
BCB Format でググればいろいろ出てくる。
とりあえず、C/C++屋はAnsiString.spirntf()の方を使えばよい。
0735デフォルトの名無しさん2006/09/13(水) 22:02:25
>>731 おまえは3行書いても中身がないな
0736デフォルトの名無しさん2006/09/13(水) 22:48:40
でも735は731の3分の1の内容も無いからなぁ。
0737デフォルトの名無しさん2006/09/13(水) 23:14:36
ゼロの3分の1でもゼロだから、いっしょ
0738デフォルトの名無しさん2006/09/14(木) 05:11:05
>>735
wwwwww
ワロタwwまた見事に1行レスだよwww
これでオマエがどうして低能って言葉に骨髄反射しちゃう人間なのか 良くわかっちゃたwwwwwww

>おまえは3行書いても中身がないな
いやいや、他人に事実を指摘してあげることは、中身のあることだよ 何を言ってるの?www大丈夫?
 
リアルで低能なチンカス だったんだね ホントにかわいそうw
0739デフォルトの名無しさん2006/09/14(木) 06:24:51
うまく切り返したつもりで、自分がゼロって認めちゃった人がいるね。
0740デフォルトの名無しさん2006/09/14(木) 09:57:19
>>731 はゼロでも3行書いてる分、アホさも3倍だよね
0741デフォルトの名無しさん2006/09/14(木) 10:01:58
 __     __       n     _____  _____     ___ ___    ___
 |   |    /  /      / /    /       | /__  __/ [][] _| |_| |__ _| |_
 |   |.   /  /    /⌒ヽ/     /   / ̄ ̄|. l    / /     |    _  | |_  レ'~ ̄|
 |   |  /  /    ( ^ω^ )    /   /.  / /    |  |___      ̄|  | / / /   /| |
 |   |  /  /     ノ/ /  ノ   /    ̄ ̄ /     \__|     |  |  ̄ /_  /  | |_
 |   |. /  /   // / ノ     /   / ̄ ̄ ̄                |_|     |__|   \/
 |   |/  /  ⊂( し'./    /   /  
 |.     /     | ノ'      /   /                     ニュー速VIP
 |    /.     し'      ./   /                  http://ex14.2ch.net/news4vip/
  ̄ ̄ ̄              ̄ ̄
0742デフォルトの名無しさん2006/09/15(金) 00:12:20
相談するだけで叩かれるのを承知でお尋ねします。

*Value++ と (*Value)++は
どう違うんでしょうか?
0743デフォルトの名無しさん2006/09/15(金) 00:15:28
>>742
括弧の有る無しが違う。
0744デフォルトの名無しさん2006/09/15(金) 00:32:21
void Loop(int *Value,bool flag)
{
if (true) *Value++; else *Value--;
*value=0;
}
をi=0;Loop(&i,true);で呼び出してみ?
0745デフォルトの名無しさん2006/09/15(金) 00:37:02
あ、引数flag関係なかった。
void Loop(int *Value);だけでいいや。
0746デフォルトの名無しさん2006/09/15(金) 00:56:07
>>742
まあ、基本的に、
*Value++
なんて他の人がわかりづらいかもしれないコードは書いちゃだめだよな
0747デフォルトの名無しさん2006/09/15(金) 01:21:19
なんとなく、ストアと同時にインデックスレジスタをインクリメントしてくれる気がするから
*p++ という表現は嫌いじゃないな。
0748デフォルトの名無しさん2006/09/15(金) 03:03:45
void strcpy(char *src, char *dst)
{
while(*dst++ = *src++);
}
0749デフォルトの名無しさん2006/09/15(金) 03:21:18
バッファオーバーラン一直線
0750デフォルトの名無しさん2006/09/15(金) 08:55:21
>>748
コピー先とコピー元が標準と逆だろ〜
0751デフォルトの名無しさん2006/09/15(金) 10:20:31
>>748
これってどうなったらwhileから抜けるの?
0752デフォルトの名無しさん2006/09/15(金) 12:28:16
>>751
あのwhile文を意訳すると、
 if ( 偶然一致 || GPフォルト )
という文になる。
■ このスレッドは過去ログ倉庫に格納されています