■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

VisualC++相談室 3
751 名前:デフォルトの名無しさん :01/09/18 11:56
#include <stdin>

752 名前:デフォルトの名無しさん :01/09/19 01:06
winsockを使おうと思って
#include <windows.h>
#include <winsock2.h>

と書いたのですが、エラーが大量に発生します。
winsock2を先に書けば良いのですが、windows.hが最初と言う
頭があるので納得いきません。
どうするのが正しいですか?

753 名前:sage :01/09/19 01:28
winsock2を先に書け

754 名前:まずは :01/09/19 01:32
#include <windows.h>
#include <winsock2.h>
int main(){ return 0; }
この3行だけのソースをコンパイルしてみろ。

755 名前:デフォルトの名無しさん :01/09/19 02:50
>>754
ダメです。
再定義されているというメッセージが大量に。
windows.hのなかでwinsock2.hが既にincludeされているようなのですが。
includeされるという保証があるのでしょうか?

ちなみに、SDKは2000/08版を使ってます

756 名前:デフォルトの名無しさん :01/09/19 03:45
手持ちのwindows.hではこうなってる
#if(_WIN32_WINNT >= 0x0400)
#include <winsock2.h>
#include <mswsock.h>
#else
#include <winsock.h>
#endif /* _WIN32_WINNT >= 0x0400 */

だからwinsock*は改めてincludeする必要なし

757 名前:_ :01/09/19 04:13
ファイルのフルパスからファイル名を抽出するためには
どうしたらよろしいでしょうか?
そういうAPIがあるんでしょうか?

素人です。どなたか教えてください。

758 名前:デフォルトの名無しさん :01/09/19 04:18
>>757
最後の/または\まで舐めて、それ以降を抽出する。
パス名/\が含まれるかどうかとか、
SJISの場合\の漢字判定もする必要がある。
APIがあればそれ使った方が良いかもしれんけど、知らない。

759 名前:_ :01/09/19 04:31
>>758
うっ・・・、
GetAt()なんかで舐めるんですか・・・?
書き方がよく分からないです・・・。

760 名前:エロ画像 :01/09/19 04:35
http://www.himawari.sakura.ne.jp/%7Eloveseat/Adu/index0.html

761 名前:デフォルトの名無しさん :01/09/19 04:56
>>757
GetFullPathName()

762 名前:デフォルトの名無しさん :01/09/19 04:57
大抵の処理系にはutilityぽい関数であると思うけどな
split,path,extとかで探してみ

763 名前:デフォルトの名無しさん :01/09/19 04:58
あ、VCスレだった、最近VC使ってないからわからん

764 名前:デフォルトの名無しさん :01/09/19 05:54
>>759
http://win32lab.com/tips/tips6.html

765 名前:デフォルトの名無しさん :01/09/19 07:18
>>759
CString::ReverseFindで一発だろ。

766 名前:デフォルトの名無しさん :01/09/19 07:19
>>757
IEのバージョンによっては存在しないけど、PathFindFileName。

あるいは FindFirstFile して WIN32_FIND_DATA::cFileName を見る。

767 名前:  :01/09/19 07:51
つーか、自分の頭でやってることをコードに落とせばいいだけだろ。
効率の善し悪しは別として。
それが出来なかったらプログラムやめた方がいいぞ。

768 名前:デフォルトの名無しさん :01/09/19 14:05
>>757
TCHAR系の変数や関数を使って書くのが吉。
上記内容なら、_splitpath()(あるいは_tsplitpath())がおすすめ。

769 名前:デフォルトの名無しさん :01/09/19 16:07
つうかMFCって標準的にそういうライブラリないのか?

770 名前:質問です :01/09/19 16:16
ダイアログベースで作成したプログラムはリターンキーで強制終了してしまいますが、
これをやめるにはどうするのでしょうか?

771 名前:デフォルトの名無しさん :01/09/19 16:31
>>770
MFCでなら、OnOK() をオーバーライドして、CDialog::OnOK()を呼ばないようにしてやる。

772 名前:デフォルトの名無しさん :01/09/19 18:23
>>770
その終了は正規の終了シーケンスに則った「行儀の良い終了(Graceful Shutdown)」のはずですが。
もし本当に強制終了されるならOSが壊れているのかもしれません。

773 名前:771 :01/09/19 18:57
スマソ、おもいっきし外してますな、俺。
確かに、エラーが出て「強制終了」されるなら、どっかメモリ壊したりしてる可能性がある。

774 名前:デフォルトの名無しさん :01/09/19 21:15
エクスプローラーみたいにディレクトリ構造を表示するダイアログを作りたいのですがどうすればいいのでしょう?

775 名前:デフォルトの名無しさん :01/09/20 00:15
>774
CTreeView

776 名前:デフォルトの名無しさん :01/09/20 00:59
CPropertySheetを使っています。

コンストラクタで以下のように書くと、
AddPage( &m_PPageHoge ) ;
AddPage( &m_・・・・
自動的にプロパティーシートの左上隅からプロパティー
ページが追加されていきますよね?

場所を指定してプロパティーページを追加する
方法はありますでしょうか?
上の方に空白を設けてそこにCEdig::Createして
エディットボックスを作りたいのですが。

ご存知の方いらっしゃいましたら
よろしくご教授ください。

777 名前:デフォルトの名無しさん :01/09/20 01:10
>>768
普通stringクラス+アルゴリズム使うだろ。
厨房決定。(ワラ

778 名前:デフォルトの名無しさん :01/09/20 02:19
>>777
どうでもいいが std::string じゃなくて std::basic_string<TCHAR> じゃないのか?
マクロ _UNICODE を定義したときにハマるぞ。


あと上でも書いてるが GetFullPathName() の第一引数にフルパス名を渡せば、
ファイル名だけ抜き出してくることができる。szFullPath にフルパス名が入って
いると仮定して

TCHAR szPath[MAX_PATH];
LPTSTR *pszFilePart;
::GetFullPathName(szFullPath, MAX_PATH, szPath, &pszFilePart);

これで pszFilePart がファイル名の先頭を指すようになる。szFullPath の内容が
szPath にコピーされるのでやや効率が悪いが、

- 他の Win32 API と同じく、セパレータとして '\\', '/' 両方を受け付ける
- UNC を理解する (//machine/dir/ を食わせると pszFilePart は NULL になる)

など、他の Win32 API と齟齬をきたさぬ仕様が便利。

779 名前:デフォルトの名無しさん :01/09/20 10:43
CPropertySheetを使っています。

コンストラクタで以下のように書くと、
AddPage( &m_PPageHoge ) ;
AddPage( &m_・・・・
自動的にプロパティーシートの左上隅からプロパティー
ページが追加されていきますよね?

場所を指定してプロパティーページを追加する
方法はありますでしょうか?
上の方に空白を設けてそこにCEdig::Createして
エディットボックスを作りたいのですが。

ご存知の方いらっしゃいましたら
よろしくご教授ください。

780 名前:菊丸 :01/09/20 11:10
VCでエクセルをCSVファイルに落とさずにデータを扱いたいのですが
、その様な事はできるのでしょうか?
よろしくお願いします。

781 名前:デフォルトの名無しさん :01/09/20 11:29
>>780
COM

782 名前:菊丸 :01/09/20 11:31
>>781
すみません。
いま一つ意味がわかりません。

どういうことでしょうか?

783 名前:デフォルトの名無しさん :01/09/20 11:55
>>782
COM 知らないの? 情報は豊富にあるはずだから、書籍なり google なりで調べてください。
たとえば Excel97 だと、こんな感じのコードで操作できる。

#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <objbase.h>
#include <tchar.h>

#import "C:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\VBA\MSO97RT.DLL" \
  no_namespace rename("DocumentProperties", "DocumentPropertiesXL")
#import "C:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\VBA\VBEEXT1.OLB" \
  no_namespace
#import "C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\EXCEL8.OLB" \
  rename("DialogBox", "DialogBoxXL") \
  rename("RGB", "RBGXL") \
  rename("DocumentProperties", "DocumentPropertiesXL") \
  no_dual_interfaces

int APIENTRY
_tWinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR, int nCmdShow)
{
  ::CoInitialize(NULL);
  Excel::_ApplicationPtr spExcel;
  Excel::WorkbooksPtr spWorkbooks;

  spExcel.CreateInstance("Excel.Application");
  spExcel->PutVisible(TRUE);

  _bstr_t bstrFile("D:\\tmp\\test.xls");
  spWorkbooks = spExcel->GetWorkbooks();
  spWorkbooks->Open(bstrFile);

  ::Sleep(5000);    // Wait

  spExcel->Quit();
  ::CoUninitialize();
  return (0);
}

784 名前:菊丸 :01/09/20 12:15
>>783
なるほど。

即レス、
マジでありがとうございました。

785 名前:デフォルトの名無しさん :01/09/20 12:26
>>770 ありがとうございます。オーバーロードのことですか?
>>771 その終了シーケンスをやめたいのです。

786 名前:デフォルトの名無しさん :01/09/20 13:24
VCチュートリアルが終わった程度の初心者です。
InternetExplorerの右上にある「e」のマークのような画像を
ウインドの右上に表示するにはどうすればよいのでしょう。
それともVCでは作れないのでしょうか。
ヒントだけでもお願いします。

787 名前:デフォルトの名無しさん :01/09/20 13:27
エディットコントロールビューを読み込み専用にすると灰色
になっちゃいました。
読み込み専用(書き込み不可)のエディットコントロールを
白くする方法ってあるのでしょうか?
よろしくお願いします。

788 名前:デフォルトの名無しさん :01/09/20 14:54
OS別に気を付けなくちゃ行けない事の情報とか、
どこかにないでしょうか

NT4でVC++5.0で作ってるんですが、
そのソフトをWin98で動作させると
落ちまくったりして、
調べているところなのです

789 名前:デフォルトの名無しさん :01/09/20 15:10
>>788
MSDN

790 名前:デフォルトの名無しさん :01/09/20 15:38
>>785
ん?つまり、OKボタンはそのまま残して、リターンだけ無効にしたいってこと?
PreTranslateMessage()をオーバーライドして、
BOOL CMyDialog::PreTranslateMessage(MSG* pMsg)
{
  // TODO: この位置に固有の処理を追加するか、または基本クラスを呼び出してください
  if( pMsg->message == WM_KEYDOWN && pMsg->wParam == 0xd )
    return true;
  return CDialog::PreTranslateMessage(pMsg);
}
とかしておけば?

791 名前:デフォルトの名無しさん :01/09/20 15:42
>>787
背景色変えてやれば? > CWnd::OnCtlColor()

792 名前:デフォルトの名無しさん :01/09/20 15:46
>>786
OnPaint() | WM_PAINT で ビットマップかアイコンを描画。
CBitmap | ::LoadBitmap() でMSDN。

793 名前:786 :01/09/20 16:04
>>792
ありがとうございます。
でも、それだと、ツールバーの下に描画されるのでは?
ツールバーの横(とかメニューの横)にかっこよく絵を
置きたいのです。
なんとかなりませんでしょうか?

794 名前:デフォルトの名無しさん :01/09/20 16:19
>>793
CDialogBar

795 名前:デフォルトの名無しさん :01/09/20 16:42
getopt互換関数ってないですか?

796 名前:デフォルトの名無しさん :01/09/20 17:36
>>788
IEのバージョン(w

797 名前:sage :01/09/20 23:37
>>795
素直にgetoptもってきて使え。

798 名前:デフォルトの名無しさん :01/09/20 23:58
描画について質問。

拡大した画像を表示したいんだけど、
SetViewportExtなどを使って拡大するのと、
ストレッチブリットで拡大して描画するのと
どっちが速いですか?(もちろん処理速度)

どっちも拡大してからの座標変換がややこしい。。。

799 名前:デフォルトの名無しさん :01/09/21 07:47
>>798
自分で実験しろ。

800 名前:デフォルトの名無しさん :01/09/21 11:48
コンソールアプリ実行したらDOS窓の一番上に
”定義ファイルが開けません”
って出るけどこれ何?

801 名前:デフォルトの名無しさん :01/09/21 12:02
スレッドを、 スレッドの外から強制終了させる方法はありませんか?

802 名前:デフォルトの名無しさん :01/09/21 12:21
>>801
強制でいいなら TerminateThread() 。

803 名前:801 :01/09/21 13:20
>>802
thanks!

804 名前:分割ウィンドウで質問 :01/09/21 13:42
┏━━━━┳━━━━┓
┃      ┃      ┃
┃      ┃      ┃
┣━━━━┫      ┃
┃      ┃      ┃
┃      ┣━━━━┫
┃      ┃      ┃
┃      ┃      ┃
┗━━━━┻━━━━┛
このように分割されたウィンドウはどうすれば上手く
出来るのでしょうか?

SplitterWndをOnCreateClientでネストして使用し
・まず左右に分割
・次に左を上下に分割
・最後に右を上下に分割
とやってみたのですが、左の領域の幅が
何故かゼロ(分割線が左端に寄ってしまう)に
なってしまい、悩んでいます。

左右のどちらか一方が分割されないような三分割は
検索すると結構見つかるのですが、この形態の四分割は
参考例が見つからないので、識者の知恵をお借りしたい次第です・・。

805 名前:sage :01/09/21 17:19
>>803
わかってるならいいけど、最後の手段だぞ、それ。

806 名前:デフォルトの名無しさん :01/09/21 18:08
>>805
というより、設計が間違ってます(w

807 名前:デフォルトの名無しさん :01/09/22 00:35
>>799
いいから答えろや。ゴルァ。
知らんかったら書くな。ゴルァ。

808 名前:デフォルトの名無しさん :01/09/22 00:48
>>807
そんなもんほぼ環境依存なんだから自分で実験して好きな方使え。

809 名前:デフォルトの名無しさん :01/09/22 01:39
>>808
本人が放置希望みたいだから以後その方向で行きませう。

810 名前:デフォルトの名無しさん :01/09/22 02:05
リソースがDLL化されているプロジェクトに
リソースを追加するにはどうすれば良いでしょうか?

811 名前:デフォルトの名無しさん :01/09/22 03:06
CFileFindでサブディレクトリを含めた検索はどうすればいいんでしょうか?

812 名前:デフォルトの名無しさん :01/09/22 06:05
>>811
再帰的に検索する。
検索結果がディレクトリだった場合は、検索関数自身をコールすれば良い。

813 名前:811 :01/09/22 09:52
>812
あう、用意されてないんですか。わかりました。ありがとうございます。

814 名前:デフォルトの名無しさん :01/09/22 09:53
>>810
ハァ?

1. そのリソース DLL にリソースを追加する。
2. リソース DLL は使わず自分にそのリソースを追加する。

815 名前:デフォルトの名無しさん :01/09/22 10:21
ofstreamでファイルを出力するときに
フォルダが存在しない場合にエラーにならないで
勝手に作成してくれるのってないですか?

816 名前:sage :01/09/22 11:02
>>815
ない
MakeSureDirectoryPathExistsを調べとけ

817 名前:デフォルトの名無しさん :01/09/22 12:11
>>816
いぇっさー

818 名前:デフォルトの名無しさん :01/09/22 14:27
>>814
1.DLLしか提供されていなくても、リソースって追加できます?
やり方教えてください
2.リソースだけでなく、プログラム本体の下層レイヤーなども含まれているので
 ちょっと無理です

819 名前:sage :01/09/22 14:32
>>818
リソースDLLをもらったんだが、それにリソースを追加したい。
でも、ソースはない。

という話しか?
何がやりたいのかはっきりしろ

820 名前:818 :01/09/22 14:35
DLLではなく、ただの拡張子.libのライブラリーファイルです

821 名前:デフォルトの名無しさん :01/09/22 14:45
VCのプロジェクトがあって、リソースやプログラムのコアとなる部分がライブラリー化され
そのライブラリーに対するAPIが用意されていて、それでプログラムしていくようになっています。
このプロジェクトに、リソースを追加するやり方を教えてもらいたいのですがお願いします。

822 名前:sage :01/09/22 14:58
>>821

まず国語を勉強し直せ。

DLLとインポートライブラリの関係はわかっているか?
リソースDLLがどんな目的で作られるかわかっているか?

そのプロジェクトにリソースを追加するだけなら、
プロジェクトを開いてctrl+R
もしくは
プロジェクトへのファイルの追加で、自分の書いたリソーススクリプトファイルか
リソースファイルを追加しろ。

823 名前:デフォルトの名無しさん :01/09/22 16:15
>>820
じゃあDLL関係ねぇじゃねぇか!!
状況説明くらいまともにしてくれ。
・何がしたいのか
・どういう状況か
これくらいは具体的に書け。

あと、ネタならネタってメール欄に書いとけ。

824 名前:Tori :01/09/22 18:39
MFCを使わないSDIのプログラミングはそれほど難しくなく、また、さまざまな
プログラムが組めると思います。
MFCを使わない時のデメリットはなにでしょうか?
マジレす希望

825 名前:デフォルトの名無しさん :01/09/22 19:19
>>824
MFCを使った場合のメリットなら。
ClassWizardを使って、メッセージハンドラを手間無く追加できる。
別のプロジェクトからクラスまるごと使いまわし、がしやすい。
特殊なView(ListView, HtmlView等)を使う場合、初期段階でインプリメントまで自動でやってくれる。

つまり、ハンドラ書くのが手間じゃない人や、特殊なView使わないなら、
それほどデメリットにならないのでは?

826 名前:デフォルトの名無しさん :01/09/22 22:06
たびたびすいません。CFileFindはディレクトリの中にディレクトリが1個だけある時それを見つけられないようですけど、
回避方法はありますか?

827 名前:デフォルトの名無しさん :01/09/23 00:25

ごめんなさい。解決しました。
しかし何つう糞関数なんだCFindNextFile()…

828 名前:  :01/09/23 01:45
>>827
それはFindFirst/NextFile()に則った挙動だと思うけど。

まあ、CFileFindが糞だということは同意。
毎回WIN32_FIND_DATAをnewしてるし、GetFilePath() はバグってるし。

829 名前:デフォルトの名無しさん :01/09/23 10:30
>>828
え、GetFilePath()がバグってるって?
どういうのか教えてください。

830 名前:デフォルトの名無しさん :01/09/23 14:14
NTのサービスとして動作するプログラム作ってるんだけど、
プログラム内でUNCパス指定されたファイル読みたいんだけど、
UNCパス指定が\\Servername\Foldername\Filename
だと読めないんですが、ローカルファイルだと読めます。
UNCの指定が変ですか?

831 名前:デフォルトの名無しさん :01/09/23 14:26
>>830
誰の権限で接続しにいってる?

832 名前:  :01/09/23 14:29
>>831
権限は指定してないのでsystemユーザーかな、で繋ぐ相手はWin98で
特にフォルダにパスワードとか切ってないんだけど

833 名前:デフォルトの名無しさん :01/09/23 14:42
こんにちは。
MFCを利用してドキュメントビューアーキテクチャを実装した上で、
MainFrameのOnCreate内にて独自のウィンドウを表示したいと思い、
以下のようなプログラムを組みました。

LPCTSTR wndclass;
CRect rect(32,32,256,256);
m_NewWnd = new CNewWnd;

wndclass = AfxRegisterWndClass(CS_HREDRAW | CS_VREDRAW, 0,0,0);
m_NewWnd->Create( wndclass, "NewWnd",
WS_CHILD | WS_OVERLAPPEDWINDOW | WS_HSCROLL |WS_VSCROLL| WS_VISIBLE ,
rect, this, NULL,NULL);
m_NewWnd->ShowWindow(SW_SHOW);

# CNewWndはCWndの派生(中身なし)
# m_NewWndは*CNewWnd型としてヘッダで定義済み

ところがこれだと、表示されるまではいいのですが、
クリックしてもバーが灰色(フォーカスが移っていない状態)のままで
ドラッグも拡大縮小もできません。
また、rectをrectDefaultに変えると灰色のままですが、拡大縮小はできるようになりました。
しかしこのときでも最小化するとそのまま反応がなくなってしまいます。
一体どうやれば普通のウィンドとして表示されるのでしょうか。
お知恵をお貸しください。

834 名前:  :01/09/23 15:11
CreateViewやってないからでは?

835 名前:Ruby! :01/09/23 15:20

>C++
>いろいろと有名なオブジェクト指向言語であるC++と
>Rubyを比較すると:

>* C++なぞ問題外.^^;;;

http://www.ruby-lang.org/ja/compar.html

Rubyを知ってもらうためにもこの文をコピペしてください。

836 名前:833 :01/09/23 15:21
>>834
CWndからの派生なので
CFrameのメンバであるCreateViewは使えないのです・・・。
実は以前にVCを使った時にも同じようなことで悩んだ覚えがあります。
しかしその時のソースは残ってないし。
うーん、覚えてない自分に腹が立つ。

837 名前:833 :01/09/23 15:44
ここで書いていると昔の記憶が蘇り、なんとか解決しました。
Windowハンドルを自分で作ってアタッチしてやれば、
普通のウィンドウのように振舞ってもらえました。

HWND wnd;
wnd = CreateWindow(palletwndclass, "PalletWnd", WS_OVERLAPPEDWINDOW|WS_VISIBLE,
0,0,256,256,this->m_hWnd,NULL,NULL,NULL);
m_PalletWnd = new CPalletWnd;
m_PalletWnd->Attach(wnd);
m_PalletWnd->ShowWindow(SW_SHOW);

しかし、以前のプログラムは何が原因であったのかは謎のままです。
このプログラムも逃げのプログラミングという感じで対処療法すぎて少ししっくりきません・・・。
問題の原因のわかる方がいらっしゃいましたらぜひご教授ください。

838 名前:デフォルトの名無しさん :01/09/23 16:14
>>828
\を含む2バイト文字+\で\が消える。
C:\予定表\9月→C:\予定表9月

839 名前:デフォルトの名無しさん :01/09/23 16:14
>>828>>829

840 名前:828 :01/09/23 16:42
あれ、いま確かめたらFindNextFileで毎回newしてなかった。鬱出し脳。

841 名前:デフォルトの名無しさん :01/09/23 21:08
Visual C++ 7.0ってまだ出る気配ありませんか?
まだ先の話ですかね・・・。

842 名前:デフォルトの名無しさん :01/09/23 21:14
>>841
VS.NET

843 名前:841____ :01/09/23 22:56
>>842
ネタだったのに・・・

844 名前:デフォルトの名無しさん :01/09/23 23:21
                
  Ruby     は      クソです!    ゴミ      箱     逝きです!
  ∧_∧   ∧_∧    ∧_∧   ∧_∧     ∧_∧    ∧_∧
 ( ・∀・)  ( ・∀・)   ( ・∀・)  (  ・∀)    (∀・  )   (・∀・ )
⊂ ⊂  )  ( U  つ  ⊂__へ つ  ( ○  つ   ⊂ ○ )   ⊂ ∩  つ
 < < <    ) ) )     (_)|   \\ \   / //   / /\ \
 (_(_)  (__)_)    彡(__)   (_(__)  (_(_)   (__)  (__)

この発言をコピペしていただければ幸いです。

845 名前:デフォルトの名無しさん :01/09/24 10:19
DLLから呼び出しもとの機能を使用するにはどうすればいいのでしょうか。
今までは呼び出し元で機能のクラスをnewして、そのポインタをDLLの関数に引き渡していて、
DLLの関数からは渡されたクラスのポインタを元にメソッドを呼び出していました。
呼び出し元とDLLを両方ともVCかBorlandC++でコンパイルすれば正常に動くのですが、
片方をVC、片方をBoralndC++でコンパイルすると実行時に異常終了してしまいます。

newしたポインタを渡すという考え自体がだめなのでしょうか

846 名前:デフォルトの名無しさん :01/09/24 10:50
VCとBCCでは仮想関数系の実装方法が違いますからその方法ではダメです >>845

a->get なら Aget(a) のような 関数を作ってラップしてから呼ぶのか安全確実です

847 名前:sage :01/09/24 17:39
>>832
ファイルアクセス前に、Netbiosの正しい接続手続きは踏んでる?

サービスとして起動しているプログラムは、通常、
外のサーバの資源はどこにも接続していないはずだよ。

848 名前:sage :01/09/24 17:41
>>845
がんがん機能を切り出してCOMにでもしときなさい。

849 名前:845 :01/09/24 18:01
>846
Thank you!

>848
いや、COMはよく判らないか…

850 名前:Tori :01/09/24 18:36
VisualC++6でアクセス2000のデータベースを扱うアプリを考えています。
もっとも詳しく紹介したサイト教えて下さい

851 名前:デフォルトの名無しさん :01/09/24 18:37
>>850
MSDN Library を ADO で検索。

852 名前:デフォルトの名無しさん :01/09/26 03:19
ClassViewが突然使えなくなってしまいました
コードに問題があるとは思えません
(単純なもので試しました)
DirectX SDKをインストールしてからおかしくなったような気がします
VC++初心者なので、設定等がおかしいのかもしれません
わかる人がいましたら、教えてください

853 名前:デフォルトの名無しさん :01/09/26 06:13
>>852
コードに問題なけりゃ、お前の頭に問題が有る。
初心者のクセに自分のコードにそれだけ自信をもてるとは、
たいしたものだ、。

854 名前:デフォルトの名無しさん :01/09/26 06:22
>>853
こんにちはザワールドだけなコードだったりしてな(w

855 名前:デフォルトの名無しさん :01/09/26 14:13
>>852

*.ncb消せ。

856 名前:デフォルトの名無しさん :01/09/26 14:23
>>855
直りました
ありがとうございます

857 名前:ウイルスよこせ! :01/09/26 14:32
お前ら俺にウイルスを送ってみろ。
いくらでも対処してやるよ。
どんどんよこせ。
それともウイルス作れるここにはいないかな?
バカばっかりっぽいもんね。
shonbentaikai@yahoo.ne.jp

858 名前:デフォルトの名無しさん :01/09/26 14:46
ビデオキャプチャで用いられる
capXXX()
っていう関数のことを解説してある、良いサイトはないでしょうか?

859 名前:デフォルトの名無しさん :01/09/26 16:20
>>857
>それともウイルス作れるここにはいないかな?
日本語ヘンだよ?
頭も相当ヘンそうだけど。

860 名前:デフォルトの名無しさん :01/09/28 03:31
GlobalReAllocってどういう時に使えばいいのでしょうか?

861 名前:デフォルトの名無しさん :01/09/28 03:37
グローバルにリアロークしたい時

862 名前:デフォルトの名無しさん :01/09/28 03:53
よくわかりません>861

863 名前:デフォルトの名無しさん :01/09/28 04:04
>>862
ネタだって。

ともかく VC++ についてきた MSDN Library をインストールして、GlobalReAlloc()
の項を読むのが正解。それで分からなかったら、また質問してくれ。

864 名前:デフォルトの名無しさん :01/09/28 04:27
>863 は親切な人
コテハンで質問に答えてくれると嬉しいっス

865 名前:デフォルトの名無しさん :01/09/28 06:04
>>864
嬉しいか、嬉しくないかなんて知ったところではない。
暇な時に、答えられそうな質問に、答えられる人が答えてるだけだし。

866 名前:863 :01/09/28 06:31
>>864
別にコテハンで書いてもいいが、何でコテハンで書いて欲しいんだ?

867 名前:デフォルトの名無しさん :01/09/28 13:25
「わーい専属サポート員ができた〜」
ってことなんじゃねえの?

868 名前:デフォルトの名無しさん :01/09/28 17:36
じゃあ、回答する人は名前欄「MSDN」とかにしておくとか?(藁

869 名前:デフォルトの名無しさん :01/09/28 19:30
bool型って見たことないんですけど何に使うんですか?BOOLと何が違うんでしょうか?

870 名前:デフォルトの名無しさん :01/09/28 19:58
>>869
・・・
お前とは仕事したくない・・・

871 名前:デフォルトの名無しさん :01/09/28 19:59
>>869
VC++のまえに C++の本を
読んでください
読んでください
読んでください
読んでください
読んでください
読んでください

872 名前:MSDN :01/09/28 20:34
>>869
ともかく VC++ についてきた MSDN Library をインストールして、bool
の項を読むのが正解。それで分からなかったら、また質問してくれ。

873 名前:デフォルトの名無しさん :01/09/28 21:14
>>863
どういうメリットがあって、どういうデメリットあるのかが良くわからないのです
とりあえず、メリット、デメリットよりも
どういう時に使うと効率が良くなるのか教えてください
その逆で、どういう時に使ってはいけないのかでも
理解可能なのですが

874 名前:デフォルトの名無しさん :01/09/28 21:18
>>873
C の標準関数に realloc() がありますが、この用途は理解してますか?
それとも、グローバルメモリオブジェクトの用途が分からんということかな。

875 名前:デフォルトの名無しさん :01/09/28 22:07
>>873
自分にとって必要ない関数を無理に使うことはないと思われ

876 名前:デフォルトの名無しさん :01/09/29 00:48
すいません
realloc知りませんでした
今から調べてみます
グローバルメモリっていうのが
そもそも何だかよくわかりません

877 名前:デフォルトの名無しさん :01/09/29 00:54
>>876
> グローバルメモリっていうのが
Win16 時代の名残だから、忘れてて良いよ。

ただし、クリップボード使うときだけ一瞬思い出すこと。

878 名前:デフォルトの名無しさん :01/09/29 01:19
>>869
小文字で書いてあるのはCの予約語で、
大文字で書いてあるのはVC++の定義。
Windows.h、Windowsx.hを参照のこと。

879 名前:デフォルトの名無しさん :01/09/29 01:20
>ただし、クリップボード使うときだけ一瞬思い出す
他のプロセスのメモリーにアクセスするための
って感じでしょうか?

880 名前:デフォルトの名無しさん :01/09/29 04:31
>879
ちがう。

881 名前:デフォルトの名無しさん :01/09/29 04:37
>>879
グローバルメモリが必要な時は、普通そう書いてあるから、気にすんな。

882 名前:_Bool :01/09/29 08:10
>>878
bool は C++ の予約語…。

883 名前:デフォルトの名無しさん :01/09/29 19:42
結局のところGlobalReAllocの
有効な使い方は誰にもわからないということで
いいんでしょうか?

884 名前:MSDN :01/09/29 20:26
>>883
いや、分かってるけど。

realloc() の使いどころが分かれば、

 malloc() したメモリ空間を realloc() で拡大/縮小できるのと同様
 GlobalAlloc() したグローバルメモリオブジェクトを GlobalReAlloc() で拡大/縮小できる
 (サイズ以外の属性もいじれるけど)

で十分な説明だと思う。で realloc() の使いどころが分からないのなら、それは VC++ の
スレッドではなく C 言語の(しかも初心者向けの)スレッドで質問したほうがいい。

885 名前:デフォルトの名無しさん :01/09/29 21:02
>malloc() したメモリ空間を realloc() で拡大/縮小できるのと同様
>lobalAlloc() したグローバルメモリオブジェクトを GlobalReAlloc() で拡大/縮小できる
こんなのは本を読めば、誰でもわかることでは?
重要なのは、使いどころだと思われ
さらに、誰もrealloc()については聞いてないだろ
まあ、俺もどこで使うべきかっていうのはよくわからないんだが
884が知ったかじゃないなら、
globalreallocとreallocの違いを説明するべし
ついでにreallocのリスクも説明するべし

886 名前:MSDN :01/09/29 22:01
>>885
前にも書いたけど、グローバルメモリオブジェクトは Win16 時代の名残だから忘れて
良いんだって。

知ったか呼ばわりされるのもアレだから、一応書いておくが。

その昔、まだ Windows が 3.x だった時代。Win16 API はアプリケーションに二種類の
ヒープを提供していた。

1 ローカルヒープ
 連続して確保できるアドレスは16bit(64KB)
 プロセスローカル
 アクセス/メモリ管理は高速

2 グローバルヒープ
 連続して確保できるアドレスは16bitに制限されない
 すべてのプロセスで共有
 アクセス/メモリ管理は低速

またメモリが少なかった当時の事情に配慮して、OS が適時 compaction 処理を行える
ようになっていた。だから当時は大きなメモリブロックを一括して使いたい場合には

1 GlobalAlloc() で確保
2 メモリにアクセスする直前に確保した領域をロック/終わったらアンロック
3 グローバルヒープは、必要に応じて GlobalReAlloc() で拡大縮小

していたわけだ。

Win32 になったときに 386 のメモリ管理機構が導入され

1 各プロセスのメモリ空間が分離
2 メモリ空間が32bit化され、セグメントの壁がなくなった

ために、グローバルヒープとローカルヒープを区別しておく必要がなくなった。また仮想
記憶システムが一新されて、スワップさえとっておけば compaction 処理を行わなくても
実メモリを有効に利用できるようになった。そこで GlobalAlloc(), LocalAlloc() は過去の
機能を残したまま統合、compaction 処理をしないヒープ割り当て関数の HeapAlloc()
を導入し(こちらのほうが余計な処理をしないため、性能が良い)、これを使うことを推奨
して今に至る。

グローバルメモリオブジェクトを使う機会だけど、Win32 だと実質的には

- Win16 時代のソースコードをメンテナンスする場合
- クリップボード
- DDE 関連

ぐらい。最近はDDEもはやらないから、実質的にはクリップボードにアクセスするときぐ
らいで、クリップボードコピー時には GlobalAlloc() して即 SetClipboardDate() するだけ
だし、クリップボードからデータを取得するときには一時的なハンドルが返されるだけ
だから GlobalReAlloc() を使う機会はほとんどない。

…で分かった? realloc() について説明するのはパスパス。C の初心者スレで聞いて
くれよ。

887 名前:デフォルトの名無しさん :01/09/29 22:09
>>886
ああ、可哀想に・・・そんな説明せんでも、厨房はほっとけばよかったのに。
本気でその程度のことがわかってないなら、このスレじゃなくて、本でも読んで勉強しろって感じだよなぁ。

888 名前:デフォルトの名無しさん :01/09/29 22:26
マジ質問。
Win32となった今は
GlobalAlloc()もLocalAlloc()もHeapAlloc()も
全部同じ機能だと思ってたんですが、何か違いはあるんですか?

889 名前:sage :01/09/29 22:31
GlobalとLocalは同じだと推測できるが HeapAllocは明らかに違うだろ

890 名前:デフォルトの名無しさん :01/09/29 22:38
eMbedded Visual C++ 3.0 で STL 使いたいんですが何か方法はないでしょうか?

891 名前:デフォルトの名無しさん :01/09/29 22:52
>>890
SGIのでもダウンロードしてきて突っ込んだらコンパイル通らん?

892 名前:MSDN :01/09/29 22:52
>>888
ともかく VC++ についてきた MSDN Library をインストールして、

- GlobalAlloc(), LocalAlloc()
- HeapAlloc()
- VirtualAlloc()
- VirtualAllocEx()

の項を読むのが正解。それで分からなかったら、また質問してくれ。

893 名前:デフォルトの名無しさん :01/09/29 23:02
>>887
まったく。883と885は1インシデント消費しとけよ。

894 名前:888 :01/09/29 23:21
Heap系関数の説明にこう書いてあったよ。
There is no difference between memory allocated from a private heap and that allocated by using the standard allocation functions (GlobalAlloc, LocalAlloc, malloc, and so on).

895 名前:デフォルトの名無しさん :01/09/29 23:26
最初はMSDNなんてISDNと変わらん
とか思ってたけど意味を知ったらMSDNが
欲しいです。コンパイラは手に入るけどヘルプ
の方が手に入らないのは詐欺だ!だれか一回見た
MSDNオンラインヘルプは自分の物に出来る
ヘルプビューア(軽いやつ)作ってくれ!ちょいやばめかもしんないけど

896 名前:sage :01/09/29 23:27
>>894
そりゃ、ヒープ内での扱いは同じだわさ。
異なるヒープを使うってことに以外に違いはないよ。

897 名前:MSDN :01/09/29 23:56
>>895
MSDN Library Subscription を買いましょう。
http://www.msj.co.jp/msdn/admission/default.htm

Yahoo Auction で MSDN Library の Subscription 権利 (一年分) が10,000円
弱で出てることがありますから、それを手に入れるのが安上がりかと。

たまに MSDN Subscription の購読権ではなく CD-ROM / DVD-ROM をバラ
して売っている人がいますが、あれはライセンス上問題がある可能性が高いの
で気をつけてください。

898 名前:デフォルトの名無しさん :01/09/30 01:41
GlobalAllocってオプションで動作が違うんだよ。
デフラグみたいな動作(Purge)をするために間接ポインタを
返す場合。HeapAllocは保護機構とかもっと低水準の機能の
ためのオプションがある。

899 名前:デフォルトの名無しさん :01/09/30 01:48
>GMEM_MOVEABLE 移動可能メモリを割り当てます。
>このフラグはGMEM_FIXEDフラグと組み合わせることは
>できません。戻り値はメモリ オブジェクトのハンドル
>になります。このハンドルは、 呼び出しプロセスに対
>してプライベートな32ビット値です。ハンドルをポイ
>ンタに変換するには、 GlobalLock関数を使用してください。

現代では移動可能メモリって使うべきでない。なんでかというと、
仮想メモリ上(場合によってはディスク上に存在)で移動されても
困るから。

900 名前:デフォルトの名無しさん :01/09/30 02:07
>889
移動可能メモリ=仮想メモリなのでは?

移動不可のメモリ=実メモリ上にあり、スワップされないもの。

901 名前:デフォルトの名無しさん :01/09/30 02:10
ちがう。それはHeapAllocでコミットされてるかどうか
の話。PurgeっていうのはマックOS7とかDOSで64kとか
32Kのセグメント内でデフラグする行為で、移動可能な
ブロックがデフラグの対象になるわけ。

902 名前:デフォルトの名無しさん :01/09/30 02:25
そういえば最新のMSDNってユーザ登録すればCDかなんかで貰えるの?
貰える場合VC++6proでも大丈夫?VStudioとかじゃないと駄目かな

903 名前:901 :01/09/30 02:30
漏れはVisualStudioだが、
うーん、内容は出版社の紙の本の方を評価する。
富士ソフトの「WindowsNTプログラミング」が
良かったなあ。
MSDNはWindowsDNAとか独自の世界を暴走していて
電波入りすぎ。無理して買ってもつまらない。

904 名前:902 :01/09/30 02:41
>>903
むぅ、そうなんすか。お奨めでない、と。
書籍の方も探してみます。例によって高くなければ良いのですが(w

MSDNに余計なのあり過ぎってのはまったく同意です。
個人的に英語版PlatformSDKの全訳さえあれば他に何もいらないので、
その辺を、新MSDNに期待したかったのですが…。

905 名前:  :01/09/30 02:43
MSDNなんて、MSの大本営発表なんだからVC付属+ダウンロードで十分だろ。個人では。
不足があればwebで見たらいいし。
ところで、いまVC買っても付属のMSDNは98年位の古いまま?

906 名前:デフォルトの名無しさん :01/09/30 02:52
サービスパック当てるとMSDNも変更かかるはず。

907 名前:869 :01/09/30 02:54
>>872
boolはintに変換できるし、BOOLはintのtypedefだから当然融通できますよね。
trueもTRUEも1だしfalseもFALSEも0だし…違いといえばBOOLにはintを代入できることくらいですか?
でもそんなことあんまりしませんよね(するとしたらごめんなさい)。
何のためにBOOLがあるのか本当にわからないです…バカでごめんなさい。

908 名前:デフォルトの名無しさん :01/09/30 03:07
>>907
C/過去との互換のため

909 名前:MSDN :01/09/30 03:13
>>907
Visual C++ 4.2 では、標準 C++ ヘッダー ファイルの typedef によって bool と int が等価とされていました。
Visual C++ 5.0 以降では、bool は 1 バイトの組み込み型としてインプリメントされています。

910 名前:869 :01/09/30 03:28
なるほど、互換性を良くしたいときにはBOOL、最適化したいときはboolを使えばいいんですね。
済みません、どうもありがとうございました。

911 名前:デフォルトの名無しさん :01/09/30 03:49
>>907
BOOL は、bool がまだ無かったころの名残です。

912 名前:デフォルトの名無しさん :01/09/30 04:59
>>906
でも、最近の API はドキュメントがない。

そこだけオンライン版の MSDN サイト使うって手もあるが、オンライン版の MSDN は VC++ に統合
できないし検索のインターフェースが良くないから、1万円程度なら買ってしまっても、元取れると思
うぞ。

ダウンロードできる Platform SDK のドキュメント、あれが邦訳されてれば文句ないんだが。

913 名前:デフォルトの名無しさん :01/09/30 09:47
>>910
なんかそれ、ちょっと違うと思うんだ。

コンパイラが「真」と「偽」を知ってるかどうか、と、
ソースの可読性のためにあると思うぞ。
BOOL 型の変数に 2 を代入してもコンパイラは何も言わない(言えない)けど、
bool 型の変数にそんなことすると、文句を言われるぞ。

>>911
ってゆーか、MS-C がまだ C++ ではなかった & ANSI 準拠が優先だったからでは?

914 名前:913 :01/09/30 09:52
ちなみに、話は脱線しちゃうけど、
たとえば Visual C++ 6.0 って、コンパイラのバージョンは "12.0" だってこと、
意外と知ってる人は少ないんじゃない? (→ MS-C/C++ Compiler Version 12.0)

MS-C は Lattice-C のライセンスを受けてリリースした 3.0 が最初で、
そのころはまだ「C Compiler」だった。Windows の開発が始まったのはその頃。
確か bool ってのは C++ で追加された型だったと思う。
だから bool じゃなく、BOOL。

MS-C が C++ になったのは、確か 6.0 からだったと思う。
商品名が「Visual C++」になったのは MS-C 8.0 から。
それ以後、MS-C 9.0 = Visual C++ 2.0、MS-C 10.0 = Visual C++ 4.0、
MS-C 11.0 = Visual C++ 5.0 ときて、今は MS-C 12.0 = Visual C++ 6.0

915 名前:デフォルトの名無しさん :01/09/30 13:40
C++になったのはVer7からだよ

916 名前:914 :01/09/30 18:24
>>915
あっ、(あの邪悪な) C7 からか。 スマソ

917 名前:デフォルトの名無しさん :01/10/01 01:51
>>914

Winアプリを作れるようになったのもVer7からだったっけ。

918 名前:デフォルトの名無しさん :01/10/01 04:14
vc++でプログラムを作ったんですが
人に渡す時は**.exeだけ渡せばいいのでしょうか?
ちなみにStandardEditionです・・・関係ない?

919 名前:デフォルトの名無しさん :01/10/01 04:20
状況に依る>918

920 名前:デフォルトの名無しさん :01/10/01 04:36
>917
一番初期はMS-C6とSDKだった
>918
相手のOSによる、Win95だとruntimeが古いのしか入ってないと思われる

921 名前:918 :01/10/01 07:17
私も相手も2000を使っている場合は
exeだけでよろしいのでしょうか?

922 名前:デフォルトの名無しさん :01/10/01 09:35
>>921
作ったプログラムが他にファイルを必要としないのなら
実行ファイルだけでok

923 名前:美紀 :01/10/01 15:18
はじめまして美紀です。
『印刷プログラムを作れ!』ってセクハラ部長に命令されたの。
美紀初めてだから良く分からないの。
PrintDlg で取得したDCに印刷イメージを書き込めばいいみたいだから
作業用の DIBSection 作ってそこに画像やグラフや文字を書き込んでから
プリンタのDCに StretchBlt で書き込もうと思うの。
これでいい?
作業用の DIBSection のサイズってどれくらいがいい?
あんまりサイズが小さいと印刷の解像度が低くなりそうでイヤ!
普通の文字は直接プリンタのDCに書き込んだ方がよさそうだけど
DCのサイズに合わせてフォントサイズを調整する方法が分からないの(泣)
印刷バージンの美紀に優しく教えて。

924 名前:デフォルトの名無しさん :01/10/01 15:29
>>923
GetMapMode、SetMapMode、GetWindowExtなど

925 名前:デフォルトの名無しさん :01/10/01 15:35
VCで文法的に許される範囲内で
virtual, static, 長いメソッドなどを全てヘッダに書いた場合、
スピードが遅くなったり、サイズが極端に大きくなることはあるのでしょうか?
# 例えば大きなメソッドが全てインライン展開されてしまったり、staticメソッドが全てのobjファイルに置かれてしまったりなど。

Java, C#と同じようなスタイルで書いて問題ないかということです。

926 名前:デフォルトの名無しさん :01/10/01 17:15
VC++6.0でDCOMを入れてないWIN95で動くプログラムはどうやったらできますか?

927 名前:デフォルトの名無しさん :01/10/01 18:26
>>926
SDKのみで書け

928 名前:926 :01/10/01 22:08
ありがスマソ

929 名前:デフォルトの名無しさん :01/10/02 00:53
>>925
コンパイラは賢いので安心してください

930 名前:デフォルトの名無しさん :01/10/02 06:49
16bitOSの頃のDOS用コードunion REGS, inregs, outregs, memset 等を32bit
OSのVC++6.0で使用するのはどうすればよいのですか?

931 名前:デフォルトの名無しさん :01/10/02 08:19
>>930
それを使って何をするかによる。
使うだけならできる。

932 名前:930 :01/10/02 08:26
どうしても「error unexpected "union""REGS"」ってでるんですが、、、

933 名前:デフォルトの名無しさん :01/10/02 08:54
>932
それは使う使わない以前の問題だゴルァ!
構造体定義すればぁ?

で、次にリンカが「int21が無い」とか言い出すに2048カノッサ。

934 名前:デフォルトの名無しさん :01/10/02 10:52
int何の機能を持つAPIに置き換え

935 名前:デフォルトの名無しさん :01/10/02 11:48
>>925
929氏の言うとおり。
ただしある程度コード規模が大きくなると、コード修正後の再コンパイル時間は
どんどん増えます。超小規模コード以外では、開発に支障をきたすことになるでしょう。

936 名前:超初心者 :01/10/02 12:02
超くだらない質問なのかもしれないけど、調べてもよくわかりません
ウィンドウプロシージャって、
同時に何個も起動されたりするものなのですか?
(イベント処理が終わらないうちに、次のイベントがきたりしたら)

937 名前:超初心者 936 :01/10/02 12:06
すいません、
あと、OSの中でのイベントの流れとか、
タスク処理みたいなのがどのように行われているか、とか、
について、 参考になる良いホームページとか本とか
ありませんか?

938 名前:デフォルトの名無しさん :01/10/02 13:39
DialogBoxでダイアログbox作る時、
いきなり隠す(foreground ?)には、どうしたら良いですか

939 名前:デフォルトの名無しさん :01/10/02 14:09
DialogBoxじゃなくてCreateDialogを呼んでShowWindowで隠す。

940 名前:デフォルトの名無しさん :01/10/02 14:15
WM_INITDIALOGでShowWindowを呼ぶ。

941 名前:デフォルトの名無しさん :01/10/02 14:34
なるほど 助かりました
まだShowWindowも知らない初心者です

942 名前:941 :01/10/02 14:45
と思ったら、
WM_INITDIALOGでShowWindowでは だめでした・・・
CreateDialogを使うのではなく、
DialogBox使用で隠す方法はないのかな

943 名前:デフォルトの名無しさん :01/10/02 22:20
>>937

Win95だろうがNTだろうが2000だろうが
根底にある技術を知りたいなら、とりあえずこれヨンどけ。

NT版しか読んだことないが、たぶん、win2K版も
書いてあることは同じだ。

944 名前:デフォルトの名無しさん :01/10/02 23:04
>>942
意味がわからん。
何がしたいのかはっきり書け。

945 名前:デフォルトの名無しさん :01/10/03 00:06
ATLフルコントロールのActiveXを作成しているんだけど、
プロパティを作成して
HTMLで<OBJECT ------ >
<PARAM NAME="PATH" VALUE="teteete">
</OBJECT>
の記述してもput_のプロパティが呼ばれないのよ
なぜ?だれか教えて

946 名前:デフォルトの名無しさん :01/10/03 00:34
>>943
(・∀・)カキワスレ?

947 名前:デフォルトの名無しさん :01/10/03 00:47
かなり書きわすれ

ISBN 4822280802

948 名前:942 :01/10/03 02:26
>944
今作ってるソフトは、ダイアログboxのみのソフトで、
winmainから
DialogBox
でダイアログboxを呼び出して、
ダイアログが閉じたら、そのままアプリ終了してます

それで、今はこのソフトを起動すると一番手前にダイアログboxが出現するのですが、
そうじゃなくて、他のウィンドウ(ソフト)の影にかくしたいのです

949 名前:デフォルトの名無しさん :01/10/03 07:23
>>947
リンク張っとくか。

「Windows2000 Server完全技術解説」
横山 哲也 (著), 天野 司 (著), 金井 昌宏 (著), 木村 尚義 (著), 芝山 賢 (著)
日経BP社 ISBN4822280802

http://www.amazon.co.jp/exec/obidos/ASIN/4822280802/

950 名前:デフォルトの名無しさん :01/10/03 07:43
>>948

だったらCreateDialog使ってメッセージループ回せ。

ってーかモーダルとモードレスの違いぐらい把握してなさい。

951 名前:948 :01/10/03 09:18
>>950
じゃあ、やっぱりDialogBox使用では無理なんですね

>>モーダルとモードレスの違いぐらい
独立して処理が動くか、処理が終わるまで戻ってこないかでしたっけ?
とりあえず、入門書でも買いに逝ってきます
いろいろありがとうございました

952 名前:デフォルトの名無しさん :01/10/03 10:54
>>951
可視をoffにしてもだめ?

953 名前:デフォルトの名無しさん :01/10/03 11:18
WindowsXPで、
VirtualAllocを使って1Gのメモリを確保しようとしたら
失敗しました。NULLが入ってきます。
Windows2000,WindowsNT,Windows98とかでは
大丈夫です。なんででしょう?

954 名前:デフォルトの名無しさん :01/10/03 11:34
XPってデフォルトでスワップオフとかそんなんじゃなかったっけ?

955 名前:デフォルトの名無しさん :01/10/03 11:56
スワップオンするAPIを発行すればいいってことでしょうか?
でも、640MB程度ならちゃんと確保できるんです。

956 名前:951 :01/10/03 13:39
>>952
すいません、だめなんです

957 名前:デフォルトの名無しさん :01/10/03 17:51
>>956
やったことあるよ!
座標(0,10000)あたりに移動させて見えなくしたよ!
でもspyで見つけられて恥ずかしかったので
モードレスダイアログの勉強して書き換えたよ!

958 名前:デフォルトの名無しさん :01/10/03 19:47
初歩的な質問お願いします。
HeapReAlloc でメモリの再確保を行った場合
再確保前と後でメモリアドレスが変わっても内容は保持されるのでしょうか?

Mem = HeapReAlloc(GetProcessHeap() , 0 , Mem , 1024*10);

Memのアドレスが呼び出し前と変わっても元々Memにあったデータは新しいMemにコピーされますか?
アドレスが変わる場合もとのアドレスのメモリ領域の開放はHeapReAllocが責任持ってやってくれるんですか?

959 名前:デフォルトの名無しさん :01/10/03 20:02
>>958
アドレスが変わったからといって、メモリ上の物理的な位置が変わっていない場合もある。
もちろん変わっている場合もある。

960 名前:デフォルトの名無しさん :01/10/03 21:27
GetShortPathNameで短くしたファイル名を長くするにはどうしたら良いですか?
FindFirstFileで取得できるのはファイル名の最後の部分(?)だけでフォルダの部分はダメです。
GetFileTitleの逆でフルパスからパスの部分を取得する関数って何ですか?
FindFirstFileで返ってくる"."や".."フォルダって何ですか?
それを使って再帰的にFindFirstFileを呼ぶとおかしくなります。

961 名前:デフォルトの名無しさん :01/10/03 21:36
>>960
・Win98/2000以降ならGetLongPathNameみたいなAPIがある。
それ以前ならFindFirstFileを何回も呼んで、
フォルダ名から順番にLFNに直していくしかない。

・_splitpath なり PathRemoveFileSpec なりで適当に。

・"."=そのディレクトリ自身。".."=親ディレクトリ。
そりゃ再帰させたら無限ループだ。

962 名前:Tori :01/10/03 22:46
>851
Access2000 のmdbをDAOを使って操作できないのでしょうか?

963 名前:チビ :01/10/04 12:19
もうすぐ1000なので、新スレ作りました。
http://piza2.2ch.net/test/read.cgi/tech/1002165477/l50

964 名前:デフォルトの名無しさん :01/10/04 13:59
Sleepから戻ってこなくなる時って、どんな原因が
考えられますか。

965 名前:デフォルトの名無しさん :01/10/04 16:23
朝まで2ch見てたとき

966 名前:デフォルトの名無しさん :01/10/04 17:11
>>964
酒飲んで風呂に入っているときにSleepしたとき。

967 名前:964 :01/10/04 18:04
なるほど
気をつけます

968 名前:デフォルトの名無しさん :01/10/04 23:32
薬大量に服用したとき。

969 名前:デフォルトの名無しさん :01/10/05 00:39
デッドロック。

970 名前:デフォルトの名無しさん :01/10/05 01:05
デッドロックを体感するにはどうしたらいいですか

971 名前:デフォルトの名無しさん :01/10/05 16:08
>>970

1.家を出ます。

2.ドアを施錠します。

3.鍵をドアポストの中に入れます。

4.入れなくて途方に暮れます。

これで完成です。

ただし、この場合は唯一解決手段があり、庭から回り込む or 隣室から回り込むで
デッドロックが解除されます。

972 名前:デフォルトの名無しさん :01/10/05 18:41
扉を破壊せよ

973 名前:デフォルトの名無しさん :01/10/06 00:30
SDKでActiveXプログラミングはできますか?
また、MFCで組んだほうがやりやすいのでしょうか?

974 名前:デフォルトの名無しさん :01/10/06 00:33
ATL

975 名前:デフォルトの名無しさん :01/10/06 01:32
>>971
鍵をドアポストに入れちゃうアホはほっときませんか?

976 名前:デフォルトの名無しさん :01/10/10 05:28
976

977 名前:デフォルトの名無しさん :01/10/10 05:30
977

978 名前:デフォルトの名無しさん :01/10/10 05:30
978

979 名前:デフォルトの名無しさん :01/10/10 05:31
979

980 名前:デフォルトの名無しさん :01/10/10 05:31
980

981 名前:デフォルトの名無しさん :01/10/10 05:31
981

982 名前:デフォルトの名無しさん :01/10/10 05:32
982

983 名前:デフォルトの名無しさん :01/10/10 05:32
983

984 名前:デフォルトの名無しさん :01/10/10 05:33
984

985 名前:デフォルトの名無しさん :01/10/10 05:41
985

986 名前:デフォルトの名無しさん :01/10/10 05:41
986

987 名前:デフォルトの名無しさん :01/10/10 05:42
987

988 名前:デフォルトの名無しさん :01/10/10 05:42
988

989 名前:デフォルトの名無しさん :01/10/10 05:42
989

990 名前:デフォルトの名無しさん :01/10/10 05:43
990

991 名前:デフォルトの名無しさん :01/10/10 05:43
991

992 名前:デフォルトの名無しさん :01/10/10 05:43
992

993 名前:デフォルトの名無しさん :01/10/10 05:43
993

994 名前:デフォルトの名無しさん :01/10/10 05:52
994

995 名前:デフォルトの名無しさん :01/10/10 05:52
995

996 名前:デフォルトの名無しさん :01/10/10 05:53
996

997 名前:デフォルトの名無しさん :01/10/10 05:53
997

998 名前:デフォルトの名無しさん :01/10/10 05:53
998

999 名前:デフォルトの名無しさん :01/10/10 05:53
999

1000 名前:デフォルトの名無しさん :01/10/10 05:53
1000


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.