★初心者にVisual C++を教えるスレ★ Part38
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2011/11/03(木) 00:54:48.61お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。
■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう、特にWindowsForm、MFC、Win32アプリケーションの区別。
・できるだけ具体的に。
質問の仕方については次のページが大変参考になります。
http://www.hyuki.com/writing/techask.html
■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
(MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。
【過去スレ】
Part37 http://hibari.2ch.net/test/read.cgi/tech/1299982561/
Part36 ttp://hibari.2ch.net/test/read.cgi/tech/1273939582/
Part35 ttp://pc12.2ch.net/test/read.cgi/tech/1256645713/
Part34 ttp://pc12.2ch.net/test/read.cgi/tech/1245382769/
Part33 ttp://pc12.2ch.net/test/read.cgi/tech/1235292263/
0072デフォルトの名無しさん
2011/11/29(火) 01:07:56.34ほんのちょっとかじった程度でいきなりこの挑戦は思い上がりすぎだったかもしれないと反省している所ですorz
一応見渡すための3D空間とカメラ等はDXライブラリのサンプルを参考に作ってあるので、
頭の角度の数値さえ取得できればあとはなんとか自力で・・・という所です。
あきらめず自分なりにもにらめっこ挑戦してみます。
0073デフォルトの名無しさん
2011/11/29(火) 01:53:23.01int* ptr = nullptr;
ってメインスレッドでして、サブスレッド内で
ptr = new int[10];
としてすぐにサブスレッドは終了。確実に終了したことを確認した上で
メインスレッドで
delete[] ptr;
とやりました。
で、#include <crtdbg.h> を使ったところ、ptrは解放されてない、
とメモリリークが検出されました。
スレッドをまたぐメモリ確保はやっちゃだめでしょうか?
それとも単にcrtdbgが解放を検出できてないだけでしょうか?
007473
2011/11/29(火) 02:02:34.01どこかおかしいことがわかりました。ということで無視してください。
0075デフォルトの名無しさん
2011/11/29(火) 02:09:37.73#ifdef _DEBUG
#define _CRTDBG_MAP_ALLOC
#define new ::new( _NORMAL_BLOCK, __FILE__, __LINE__ )
#endif // _DEBUG
#include <Windows.h>
#include <process.h>
unsigned int WINAPI thread(void *p) {
int* &pp = *(int**)p;
pp = new int [ 100];
_endthreadex(0);
return 0;
}
int main()
{
int *p;
HANDLE hThread;
hThread = (HANDLE)_beginthreadex(NULL, 0, thread, (void*)&p, 0, NULL);
WaitForSingleObject(hThread, INFINITE);
CloseHandle(hThread);
delete [] p;
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
return 0;
}
リークしないなぁ
0076デフォルトの名無しさん
2011/11/30(水) 13:27:13.730077デフォルトの名無しさん
2011/12/01(木) 11:07:39.230078デフォルトの名無しさん
2011/12/01(木) 11:19:27.310079デフォルトの名無しさん
2011/12/01(木) 20:19:51.530080デフォルトの名無しさん
2011/12/01(木) 20:22:44.220081デフォルトの名無しさん
2011/12/04(日) 03:41:10.78Windows Vista SP2 32bit
Visual C++ 2010 Express
こちらにあるようにWinHttpRequestを使用したいと思いました。
http://msdn.microsoft.com/en-us/library/windows/desktop/aa384045(v=vs.85).aspx
デバッグしようとしたところ下記のエラーが出て対応をしました。
・error C2872: 'IServiceProvider' : あいまいなシンボルです。
"using namespace System;" と "#include <windows.h>"
を同じ名前空間に記述することが問題だとなってましたので
"using namespace System;"をコメントアウト
・error C2653: 'WinHttp' : 識別子がクラス名でも名前空間名でもありません。
#import "winhttp.dll" named_guids
と記述してGUID型のCLSIDやIIDの定義が生成しなくてはならないとありましたので
記載
コードは次レスです。
0082デフォルトの名無しさん
2011/12/04(日) 03:42:14.63#include <windows.h>
#include <stdio.h>
#include <objbase.h>
#pragma comment(lib, "ole32.lib")
#pragma comment(lib, "oleaut32.lib")
#import "winhttp.dll" named_guids
//using namespace System;
// IID for IWinHttpRequest.
const IID IID_IWinHttpRequest = {
0x06f29373,
0x5c5a,
0x4b54,
{0xb0, 0x25, 0x6e, 0xf1, 0xbf, 0x8a, 0xbf, 0x0e}
};
int main(array<System::String ^> ^args){
HRESULT hr;
hr = CoInitialize(NULL);
WinHttp::IWinHttpRequest * pIWinHttpRequest = NULL;
CLSID clsid;
hr = CLSIDFromProgID(L"WinHttp.WinHttpRequest.5.1", &clsid);
if (SUCCEEDED(hr)){
hr = CoCreateInstance(clsid,NULL,CLSCTX_INPROC_SERVER,IID_IWinHttpRequest,(void **)&pIWinHttpRequest);
}
CoUninitialize();
return 0;
}
0083デフォルトの名無しさん
2011/12/04(日) 03:46:24.60プロジェクト作成時のテンプレートは
「CLRコンソールアプリケーション」です。
CoCreateInstance呼び出しで
HRESULTのhrが【0x80004002】になってしまいます。
インターフェースがわからない??
お願いします。助けて下さい。
0084デフォルトの名無しさん
2011/12/04(日) 07:25:18.000085デフォルトの名無しさん
2011/12/04(日) 08:57:24.97008681
2011/12/04(日) 17:53:04.670087デフォルトの名無しさん
2011/12/04(日) 18:22:41.92なにか必要なライブラリかなにかが入ってないんじゃねーの?
0088デフォルトの名無しさん
2011/12/05(月) 18:30:36.09ありがとう。そして少し聞きたい。プログラムで取得できたCLSIDとレジストリに設定されているProgID、WinHttp5.1の数値が違うのだが、
あなたは一緒でしょうか?
自分はプログラムで取得したCLSIDは「00389130-0000-0000-54EF-1C00F036C15D」でした。
hr = CLSIDFromProgID(L"WinHttp.WinHttpRequest.5.1", &clsid);
- clsid {00389130-0000-0000-54EF-1C00F036C15D} _GUID
以下レジストリをWinHTTP.dllで検索しました
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{2087c2f4-2cef-4953-a8ab-66779b670495}]
@="WinHttpRequest Component version 5.1"
[HKEY_CLASSES_ROOT\CLSID\{2087c2f4-2cef-4953-a8ab-66779b670495}\InProcServer32]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,77,00,69,00,\
6e,00,68,00,74,00,74,00,70,00,2e,00,64,00,6c,00,6c,00,00,00
"ThreadingModel"="Apartment"
[HKEY_CLASSES_ROOT\CLSID\{2087c2f4-2cef-4953-a8ab-66779b670495}\ProgID]
@="WinHttp.WinHttpRequest.5.1" ←◆ここです!!
[HKEY_CLASSES_ROOT\CLSID\{2087c2f4-2cef-4953-a8ab-66779b670495}\TypeLib]
@="{662901fc-6951-4854-9eb2-d9a2570f2b2e}"
[HKEY_CLASSES_ROOT\CLSID\{2087c2f4-2cef-4953-a8ab-66779b670495}\Version]
@="5.1"
008982
2011/12/05(月) 18:31:17.700090デフォルトの名無しさん
2011/12/05(月) 21:00:00.12今からC++のWin32を勉強始めても何か役に立ちますかね?
C#ってやっぱり重いし、デザインもモッサリしてるし、
ネイティブなC++のほうが難しそうだけど良いのかな?と思いました。
でも時代は64bitだし、VS2010EEでできるのはWin32ですよね。
0091デフォルトの名無しさん
2011/12/05(月) 22:15:47.240092デフォルトの名無しさん
2011/12/05(月) 22:33:44.33プログラムでの CLSID の取り方なんて忘れたよ。w
コードの clsid の中身を並べてみたけど、これで良かったんだっけか?
[プログラムコードから取得したID]
2087c2f4-2cef-4953-a8ab-66779b670495
[レジストリの値]
[HKEY_CLASSES_ROOT\CLSID\{2087c2f4-2cef-4953-a8ab-66779b670495}\ProgID]
ProgID = WinHttp.WinHttpRequest.5.1
TypeLib = {662901fc-6951-4854-9eb2-d9a2570f2b2e}
Version = 5.1
‥‥ ::CLSIDFromProgID() で取得した値はレジストリの CLSID の下のノードの名前?みたいだな。おまえのも一緒だし。
0093デフォルトの名無しさん
2011/12/05(月) 22:35:37.67C++ を自在に操れるレベルになれば、他の言語なんか怖くない。
でも大抵は C# で事足りる。十分すぎるくらい。しかも凄く簡単、ってか楽。
どこまでやるかによる。
0094デフォルトの名無しさん
2011/12/05(月) 22:55:27.47いえ、
私は00389130-0000-0000-54EF-1C00F036C15Dです。
今.netframework4アンイントールができなくて困ってます(T_T)
これやったり
regsvr32 Softpub.dll /s
regsvr32 Wintrust.dll /s
regsvr32 Initpki.dll /s
regsvr32 Mssip32.dll /s
HotFixかけたり
修復したり
復元したり
(T_T)なみだ(T_T)なみだ
0095デフォルトの名無しさん
2011/12/05(月) 23:03:08.60逆にインストールしたら欠けてた部分が補完されて正常に、なんて都合のいいことはないか。
0096デフォルトの名無しさん
2011/12/05(月) 23:04:22.920097デフォルトの名無しさん
2011/12/06(火) 00:40:04.02IID_IWinHttpRequest
009882
2011/12/06(火) 00:44:55.21感謝
http://www.sol.dti.ne.jp/~yoshinor/ni/ni0002.html
http://moz-addon.g.hatena.ne.jp/ZIGOROu/20071015/1192454217
http://www.vector.co.jp/soft/dl/win95/prog/se359660.html
趣味プログラミングは敷居が高いですね><
0099デフォルトの名無しさん
2011/12/06(火) 12:04:47.40レスありがとうございます。
やはり細かなところまで要求するとC++なんですよね。
でも大概はC#で事足りる。プログラミング歴1年の僕にでも「とりあえず」出来てしまいましたから。
C++も新規格が出たようですし、今から勉強始めても損は無さそうですね。
0100デフォルトの名無しさん
2011/12/06(火) 18:41:14.84tlhファイルを見なさい!!
0101デフォルトの名無しさん
2011/12/06(火) 20:33:24.310102デフォルトの名無しさん
2011/12/07(水) 00:31:57.55OBJ obj1[5];
OBJ obj2[5];
OBJ obj3[5];
とあって、objの中にobj1〜obj3を順に格納したいんですが、
ポインタを使うとどう書くんですか?
ポインタがいまいち分かってません。
0103デフォルトの名無しさん
2011/12/07(水) 00:39:57.99obj[ 0 ] = &obj1[ 0 ];
(以下略)
じゃないの?
0104片山博文MZ ◆0lBZNi.Q7evd
2011/12/08(木) 13:16:19.78#define BAKA for(int i = 0; i < 5; i++) obj[i] = *p++;
OBJ *p;
p = obj1; BAKA
p = obj2; BAKA
p = obj3; BAKA
0105デフォルトの名無しさん
2011/12/09(金) 12:31:39.86そのdllが無くても起動してしまって、困りました。
変なパスが通っているのかと思って、環境変数の「Path」を眺めていたら、怪しいのをみつけました。
で、それを削除して実行したところ、dllがないと言われました。
あるアプリをインストールしたら、たまたま同じdllがインストールされて、それを使って動いていました。
自分で用意したdllを強制的に使うようにしたいのですけど、どうすればいいのでしょうか?
出来れば実行ファイルのサブフォルダに格納して、それを参照させたいです。出来なければ諦めます。
0106デフォルトの名無しさん
2011/12/09(金) 12:48:41.080107デフォルトの名無しさん
2011/12/09(金) 16:08:16.550108デフォルトの名無しさん
2011/12/09(金) 22:37:06.310109デフォルトの名無しさん
2011/12/12(月) 22:30:49.92必ずexeの場所のdllが最初に検索される?
0110デフォルトの名無しさん
2011/12/14(水) 09:23:42.130111デフォルトの名無しさん
2011/12/18(日) 19:59:13.30ブラシ(Brush)の色は宣言したあとに変えることは出来るのでしょうか?
Brush^ mybrush = gcnew SolidBrush(Color::Red);
と宣言したのを
mybrush->Color = Color::Blue;
みたいなことは出来ないのでしょうか?(↑は勿論エラーになります)
Penの色や線の太さを変更できるのにBrushではできないので疑問に思いました。
0112デフォルトの名無しさん
2011/12/18(日) 20:41:14.78では?
Color プロパティは Brush クラスではなくて、SolidBrush クラスで定義されてるね。
とりあえずエラーが出たときは、その説明とか使うクラスの MSDN とかをちゃんと確認すると良いと思うぞ。
0113デフォルトの名無しさん
2011/12/18(日) 20:48:57.85解決しました。ありがとうございます
クラスの説明のサイトを見ても良く分からなかったので今まであまり見ていませんでした;;
0114デフォルトの名無しさん
2011/12/21(水) 03:00:39.630115デフォルトの名無しさん
2011/12/21(水) 03:03:18.26メニューバー>ビルド><プロジェクト>のビルド
を常にバッチビルドにする方法ありますか?
バッチビルドを開いてマウスを移動させてOKを押すのが面倒です。
Alt+BTBを覚えるのも面倒です。
0116デフォルトの名無しさん
2011/12/21(水) 06:13:21.41変な日本語で申し訳ないのですが
printf();
printf();
みたいになってしまっているとき
printf();
printf();
というように左端を揃えたいです。
何かいい方法があれば教えてください。
0117デフォルトの名無しさん
2011/12/21(水) 06:17:01.64-----printf(); ← -はスペースです
みたいになってしまっているとき
printf();
printf();
0118デフォルトの名無しさん
2011/12/21(水) 07:08:54.94Ctrl+K Ctrl+F
0119デフォルトの名無しさん
2011/12/29(木) 18:11:12.18でも俺が作ったライブラリでだけ表示されないんだけどなんぜ?
0120デフォルトの名無しさん
2011/12/30(金) 22:03:52.610121デフォルトの名無しさん
2011/12/31(土) 04:59:24.80あ?
0122片山博文MZ ◆0lBZNi.Q7evd
2011/12/31(土) 13:08:04.10http://msdn.microsoft.com/ja-jp/library/ks1ka3t6%28v=vs.80%29.aspx
0123デフォルトの名無しさん
2011/12/31(土) 13:17:05.17中国経済網は29日付で「ストライキの原因は年末のボーナス削減と韓国人従業員への差別的待遇に対する中国人従業員の不満だ」と報じた。
LGDの南京工場では26日から28日にかけて生産ラインが完全に停止し、関連工場にも影響が出た。
南京市経済開発区管理委員会に所属する呉主任は「今回の件はストライキでもサボタージュでもなく、工場が臨時休業しているだけ」と述べたが、
記事は「LGディスプレーは2011年、約670億円の赤字を出したことで、従来までは月給3カ月分だった年末ボーナスの支給そのものが難しくなった。
これは従業員の不満を招いたことに起因するストライキだ」と報じている。
http://news.searchina.ne.jp/disp.cgi?y=2011&d=1230&f=business_1230_116.shtml
0124デフォルトの名無しさん
2012/01/01(日) 18:32:38.79デストラクタで破棄しないといけないんですか?
0125デフォルトの名無しさん
2012/01/01(日) 20:20:07.850126デフォルトの名無しさん
2012/01/01(日) 21:10:00.53何を言っている?
デストラクタにはそのクラスが破棄されたときに必要な処理を書く。
デストラクタで破棄するわけじゃない。
0127デフォルトの名無しさん
2012/01/01(日) 21:27:11.09何を聞きたいのかよく分からないが、
new で動的に作成したクラスを使い終わったらどうするかという話なら
delete で削除するのが正解、デストラクタは利用者が呼び出すものではない
あるクラスAのインスタンスに付随する情報をクラスBとして動的に作成した場合の、クラスBを破棄するタイミングの話なら
クラスAのデストラクタで削除するのが自然ではある
0128デフォルトの名無しさん
2012/01/02(月) 01:35:11.70newで別のインスタンスを生成し
デストラクタでdeleteしているのですが
コンストラクタ途中で例外か例外じゃなくても
new出来なかったりで中断する必要がある場合
途中まで生成していたメンバのインスタンスが
デストラクタで解放されることは期待出来ますか?
0129デフォルトの名無しさん
2012/01/02(月) 02:15:47.55コンストラクタ内で例外を発行したら、インスタンス生成は完了しないので、デストラクタも呼ばれない
以下のような感じで処理するとか、ひと工夫必要になる
class A{
X* x;
Y* y;
A(){
try{
x = y = NULL;
x = new X; y = new Y;
catch(...) {
clear();
throw;
}
}
~A(){
clear();
}
clear(){
if (x != NULL) delete x;
if (y != NULL) delete y;
}
};
0130デフォルトの名無しさん
2012/01/02(月) 02:39:13.46A() : x(NULL), y(NULL) {
と書くのは良くないですか?
0131デフォルトの名無しさん
2012/01/02(月) 02:48:58.29メンバ初期化リストを使う方が正解
0132デフォルトの名無しさん
2012/01/02(月) 11:03:39.230133デフォルトの名無しさん
2012/01/04(水) 22:31:34.510134デフォルトの名無しさん
2012/01/05(木) 17:01:41.04アメリカの研究者の中には、今年の中国のGDPはマイナス10%ぐらいではないかと推計する人もいます。
そもそも中国の国家統計局が出している数字は、「架空の物語」です。
全国人民代表大会で決まった成長率を覆すような数字を、地方政府が上げるはずがない。16%だの24%だの、ありえない数字を出してきます。
みんなそれを知っていますから、加減してほどよい数字を作り上げる。それが国家統計局の仕事なんです。
中国の現状からすればGDPが上がるとは思えません。個人消費は明らかに減っています。住宅はといえば6500万戸が空き家状態。
企業は設備投資どころではなく、政府の財政支出も限界に来ています。
日本の新聞もようやく中国の不動産バブル崩壊について書き始めました。しかし内容は必ずしも正しくない。
不動産価格が上海で25%、北京で20%下落したといいますが、実際には40%ぐらい下がっていると思われます。
JBPRESS
http://jbpress.ismedia.jp/articles/-/34131?page=2
世界のGDP(単位10億ドル)
1位 アメリカ 14,526.55
2位 中国 5,878.26
3位 日本 5,458.80
↓
1位 アメリカ 14,526.55
2位 日本 5,458.80
3位 中国 5290.43
0135デフォルトの名無しさん
2012/01/12(木) 21:32:10.22EditBoxに関する質問なのですが、
入力が空っぽの場合には、グレー文字で入力のヒントを
表示する機能は持っていますでしょうか?
MFCのCEditクラスには該当するもの(SetCueBanner)が
見つかりましたが、SDKでは自分で
ゴリゴリ書くしかないのでしょうか?
よろしくお願いします。
0136デフォルトの名無しさん
2012/01/12(木) 23:02:12.540137デフォルトの名無しさん
2012/01/13(金) 00:15:17.21ありがとうございます。
まさか名前そのままでしたか。
WM_INITDIALOGで、
SendMessage(EditBoxのハンドル指定, EM_SETCUEBANNER, 1, (LPARAM)TEXT("ヒントです"));
と書きましたが、ヒントは表示されませんでした。
OSはWin7の64bitです。
0138デフォルトの名無しさん
2012/01/13(金) 09:34:25.12UNICODEアプリにしてる?
0139デフォルトの名無しさん
2012/01/13(金) 09:51:43.02すみません。
コモンコントロールの使用に必要な
マニフェスト作成を忘れていただけでした。
動作確認できました。
また、ユニコードで作っています。
0140デフォルトの名無しさん
2012/01/13(金) 18:24:07.97アクティブ(Debug)
Debug
Release
すべての構成
とあります。DebugとReleaseで設定を変えるということは分かるのですが
アクティブ(Debug)とすべての構成とは、何のため、どういうときに使われるものなのでしょうか?
よろしくお願いします。
0141デフォルトの名無しさん
2012/01/13(金) 19:23:06.29IDE上でDebugを選んでると、アクティブはアクティブ(Debug)となり、
構成でDebugを選んでもアクティブ(Debug)を選んでも同じ。
すべての構成は、すべての構成で共通するもの。
構成がDebugとReleaseの二つしかない場合、
その二つで同じ設定になっているものは表示され、
違う設定になっているものは空の表示がされる。
どれか設定をするとDebugとReleaseの両方に同じ設定がされる。
0142デフォルトの名無しさん
2012/01/14(土) 03:43:14.60やはりそうでしたか
0143デフォルトの名無しさん
2012/01/14(土) 21:47:14.24これはどのようにしたらこのやり方ができるのでしょうか。
DLGINITでググっても解説等が見つかりませんでした。
どうやらActiveXを使うことと関係があるらしいのですが。
0144デフォルトの名無しさん
2012/01/14(土) 23:06:50.330145デフォルトの名無しさん
2012/01/14(土) 23:12:29.11VisualStudioの使い方のことです。
0146デフォルトの名無しさん
2012/01/15(日) 03:39:10.47VC6ではダイアログにコントロールを配置するときにコンボボックスを
右クリックしてプロパティを表示すると初期文字列を設定できるけど
VS2002以降は分からない
0147デフォルトの名無しさん
2012/01/15(日) 12:18:40.280148デフォルトの名無しさん
2012/01/15(日) 14:30:37.69Dataに文字列入れたらできた。複数文字列はセミコロン区切りで。
Dataはmfcアプリのみ入力可能。
0149デフォルトの名無しさん
2012/01/17(火) 21:08:32.14C++で指定のswfのアニメーション流すことは可能なのでしょうか?
WEBカメラで画像をチャプターし、その画像の結果で
指定のswfアニメーションを流したいと考えています。
開発環境はVC2008です。
よい方法などありましたら、アドバイスお願いします。
0150デフォルトの名無しさん
2012/01/17(火) 21:31:11.240151デフォルトの名無しさん
2012/01/18(水) 00:33:47.610152デフォルトの名無しさん
2012/01/18(水) 10:28:48.35deleteし忘れのときのように出力してくれると便利なのですが。
0153デフォルトの名無しさん
2012/01/18(水) 11:27:50.98・CRT デバッグ ヒープ関数
・市販のツール
でも delete 忘れとかなら、最初の初期化と、解放後の初期化を確実にやって、
プログラムやインスタンスが終了するタイミングで、自分の持ってるポインタが NULL になっていることを
確認するのがいちばん早いと思うんだ。
0154デフォルトの名無しさん
2012/01/20(金) 21:39:50.94VC++でWindowsフォームのプログラムを組んでいるのですが、
別ファイルでextern宣言したクラス(の配列)をform1.h等で参照したいのですがコンストラクタが上手く働いてくれないのか、宣言の場所が悪いのか
ゴミ値ばかりで上手く動作してくれません。
何かヒントもらえませんか?
0155デフォルトの名無しさん
2012/01/20(金) 22:19:53.46VC++と言うと、今だに(と言うかC++/CLIが見捨てられてるだけなんだが)MFCでのプログラミング前提だから、聞くならC++/CLIと明示されてるスレで聞いた方がいい
くだすれC++/CLI(初心者用)part2
http://toro.2ch.net/test/read.cgi/tech/1268613679/
0156デフォルトの名無しさん
2012/01/20(金) 22:46:28.91他スレでもそちらに誘導されてしまいました。。
なんかマルチみたいで申し訳ないです。
そちらで質問したいと思います。
わざわざ有難うございます。
0157デフォルトの名無しさん
2012/01/21(土) 17:37:56.090158デフォルトの名無しさん
2012/01/21(土) 22:34:23.48コンソールアプリケーションでしばらく遊んでいたのですがこの度windowsフォームアプリケーションへ挑戦することにしました。
>>8でも出ているのですが、コンソールアプリケーションの時には自動でインデントしてくれていたのに、ウィンドウズフォームアプリケーションではインデントしてくれなかったり
this->と打っても反応がなかったりするのは64bitに非対応ということなのでしょうか?
ちなみにVBのVSでは正常に動いていたように思います。
一応再インストールはしてみたのですが効果なし、他の64bit使いの方のお話をお聞かせ下さい
0159デフォルトの名無しさん
2012/01/21(土) 22:40:27.580160デフォルトの名無しさん
2012/01/21(土) 22:44:15.760161デフォルトの名無しさん
2012/01/21(土) 22:59:36.47C++/CLI を使うんなら、ネイティブな C への橋渡しとかを考えている場合以外は C# でやった方がいいよ。
0162デフォルトの名無しさん
2012/01/21(土) 23:00:14.430163デフォルトの名無しさん
2012/01/22(日) 01:30:21.350164デフォルトの名無しさん
2012/01/26(木) 17:29:08.37Solution
Project1
Project2
Project1で定義されているクラスを、Project2で使用する方法を教えていただけないでしょうか?
依存関係を設定すれば使えると思ってたんですが、ハマってしまって。。。
ヘッダーをインクルードして、クラスを実体化しようとするとエラー「LNK2019: 未解決の外部シンボル」が出てしまいます。
環境はVC2002です。よろしくお願いします。
0165デフォルトの名無しさん
2012/01/26(木) 17:30:31.050166デフォルトの名無しさん
2012/01/26(木) 17:37:16.76両プロジェクトともexeの場合ってダメなんでしたっけ?
良く考えればダメですよね。。。
もうちょっと具体的に言うと、Project1が開発アプリで、Project2がテストアプリで
Project1のクラスをProject2で実体化してテストしたいんです。
良いやり方があればご教授いただきたいです。
0167デフォルトの名無しさん
2012/01/26(木) 18:02:54.86すみません、お騒がせしました
でもここに書き込んだら考えが整理された気がしますw
もっと良いやり方ってありましたっけ?有るようでしたら教えて頂ければと思います。
どうもありがとうございました。
0168デフォルトの名無しさん
2012/01/26(木) 22:05:16.82VisualStudio2010 の C++/CLI で以下の通り。
1. 同じソリューション内に form アプリケーション(Project:A)と
クラスライブラリ(Project:B)を作成
2. Project:A で参照の追加を設定し、Project:B をプロジェクトごと参照設定する
3. Project:B に適当にクラス(ClassB)とそのメソッド(ClassB::test)を作る
4. Project:A の適当なところで、 B::Class のインスタンスを作成する
5. そのクラスのインスタンスからメソッドを呼び出す (gcnew B::Class())->test()
うん。ふつーに出来た。
名前空間はちゃんと設定した? 上の例だと A とか B のことだけど。
ちなみにヘッダファイルのインクルードはやってない。
上は exe & dll だけど、マネージの実行ファイルなら exe & exe でも同じように出来る。
0169デフォルトの名無しさん
2012/01/27(金) 00:47:40.44サービスより起動しようとするとすぐに停止になってしまいます。
イベントビューアからログを見るとイベントID7034でした。
これまでは普通に起動していたんですが、
exeの中で使用しているメッセージ出力に使うファイルを、
配置してやったとたんになってしまいました。
特にこれが問題になってるとは思ってなくて、
(Visual Studio 2005でコンパイルしたexeでは問題なかったため)
Visual Studio のバージョンを変えてコンパイルしたので、
何かあるのかなと思ってます。
Visual Studio 2008でサービスを起動するコーディングをする際に、
2005と違う点は何かあるんでしょうか?
0170デフォルトの名無しさん
2012/01/27(金) 12:32:25.27アプリケーションのイベントログにエラーが出てないか?
0171デフォルトの名無しさん
2012/01/27(金) 21:04:33.86■ このスレッドは過去ログ倉庫に格納されています