mfc-ml

2006年06月

29

[mfc 52230] Re:VC6のコンパイル時のエラーについて

Subject: [mfc 52228] VC6のコンパイル時のエラーについて
Subject: [mfc 52228] VC6のコンパイル時のエラーについて
From: 竹村 <3...@jcom.home.ne.jp>様
Message-ID: <000501c69ac3$e1a699d0$5f51ab3b@cj3100084a>
>以前作成のプロジェクトを再ビルドすると以下のエラーが出るようになったのですが
>原因が不明なのでアンインストールしないで再インストール下のですが解決しません
>でした。

 原因不明なのにアンインストールして再インストールしても解決しないと思い
ますよ…

>c:\program files\microsoft visual studio\vc98\include\stdio.h(472) : error
>C2143: 構文エラー : ';' が '}' の前に必要です。

 この手のエラーの殆どの原因は include ファイルが足りないときに起こりま
す。まずは落ち着いて、どの cpp(もしくは c)からインクルードされているヘッ
ダファイルか調べてみましょう。また、該当のヘッダファイルをインクルードし
ている部分を(MLに)書き出してみるといいかもしれません。

 ところで、

>c:\program files\microsoft visual studio\vc98\include\stdlib.h(37) : error
>C2447: '<L_PROPERTY>' : 関数ヘッダがありません (旧形式の仮引数リスト?)

 あいにくと VisualStuido 6 の環境はもうないのですが、L_PROPERTY なんて
いうヘッダファイルありましたっけ?

 google 先生に聞いてみたら、同じような症状の人もいますが、どなたも解決
していない感じですね。古い platform SDK が原因?

-- 
電柱一家
mailto:m...@denchu.jp
29

[mfc 52229] RE: [mfc 52228] VC6のコンパイル時のエラーについて

 おはようございます、呉松です。

> -----Original Message-----
> From: o...@ml.acty-net.ne.jp
> [mailto:o...@ml.acty-net.ne.jp] On Behalf Of 竹村
> Sent: Thursday, June 29, 2006 12:03 AM
> To: VC++ML
> Subject: [mfc 52228] VC6のコンパイル時のエラーについて
>
> 竹村です。
>
> VC6 SP6 MFC
> Win2k SP4
>
> 以前作成のプロジェクトを再ビルドすると以下のエラーが出るようになったのです

> 原因が不明なのでアンインストールしないで再インストール下のですが解決しませ

> c:\program files\microsoft visual
> studio\vc98\include\stdio.h(472) : error
> C2143: 構文エラー : ';' が '}' の前に必要です。



> c:\program files\microsoft visual
> studio\vc98\include\stdio.h(476) : warning
> C4161: #pragma pack(pop...) : プッシュの回数をポップが上回っています。
> c:\program files\microsoft visual
> studio\vc98\include\stdlib.h(37) : error
> C2447: '<L_PROPERTY>' : 関数ヘッダがありません (旧形式の仮引数リスト?)
> cl.exe の実行エラー
>
> よろしくお願いします。

 単に構文の間違い(for分で変数の宣言をしていないとか)など、
あとプッシュ回数が・・・ はコーディングミスでしょう。
ヘッダがないのならインクルードの順序を調べてみれば良い。

P.S.言語仕様が少し変わったので、エラーのところでF1キー押して調べてみてくださ
い。
===================================================
Shiro Kurematsu
s...@pop.bekkoame.ne.jp
http://www.vector.co.jp/vpack/browse/person/an039941.html
===================================================
29

[mfc 52228] VC6のコンパイル時のエラーについて

竹村です。
いつもお世話様です。

VC6 SP6 MFC
Win2k SP4

以前作成のプロジェクトを再ビルドすると以下のエラーが出るようになったのですが
原因が不明なのでアンインストールしないで再インストール下のですが解決しません
でした。
新規インストールしないと駄目なのでしょうか?
どなたかご存知の方がおりましたらご指導をお願いします。

c:\program files\microsoft visual studio\vc98\include\stdio.h(472) : error
C2143: 構文エラー : ';' が '}' の前に必要です。
c:\program files\microsoft visual studio\vc98\include\stdio.h(472) : error
C2143: 構文エラー : ';' が '}' の前に必要です。
c:\program files\microsoft visual studio\vc98\include\stdio.h(472) : error
C2143: 構文エラー : ';' が '}' の前に必要です。
c:\program files\microsoft visual studio\vc98\include\stdio.h(476) : warning
C4161: #pragma pack(pop...) : プッシュの回数をポップが上回っています。
c:\program files\microsoft visual studio\vc98\include\stdlib.h(37) : error
C2143: 構文エラー : ';' が '{' の前に必要です。
c:\program files\microsoft visual studio\vc98\include\stdlib.h(37) : error
C2447: '<L_PROPERTY>' : 関数ヘッダがありません (旧形式の仮引数リスト?)
cl.exe の実行エラー

よろしくお願いします。

/////////////////////
竹村
////////////////////
24

[mfc 52227] TripleDESのgF圭隈Kchar * と Byte[]との侏Q


・ク・ァ・ユ、ネノ熙キ、゛、ケ。」
、ウ、ホカネ。「シネエ讀ホMFC・「・ラ・・アゥ`・キ・逾鵑鰈EB晒にするために3DESクラスを.NETのFrameworkにつくります・ソ・ケフ署カ」ゥ。」、キ、ォ、キ。「シネエ讀ホMFC・「・ラ・・アゥ`・キ・逾・」朮罐魯悄≠璽沺▲髻▲宗≒Ε辧・屐璽・灰福▲優剛怏騅ハホメマ。「char
*。。、ヌ、「、熙゛、ケ。」、ノ、ヲ、荀テ、ニchar
*。。、ネ。。Byte[]、ネ、ホ我轍、ヌ、ュ、・ヌ、キ、遉ヲ、ォ」ソ
スフ、ィ、ニ、ェ裊、、、キ、゛、ケ。」

・ク・ァ・ユ
ラ「」ア」コcompilation ョ正」、ハ、キ
ラ「」イ」コ携ミミ・ィ・鬩`
Unhandled Exception: 
System.Security.Cryptography.CryptographicException: 
Length of the data to decrypt is invalid. 
at
System.Security.Cryptography.CryptoAPITransform.TransformFinalBlock
(Byte[] inputBuffer, Int32 inputOffset, Int32
inputCount) 
at
System.Security.Cryptography.CryptoStram.FlushFinalBlock()
at CCrypto.CryptDecode3Des(SByte *enc, SByte *dec)
//----------------source sample-------------------
#include <tchar.h>

#using <mscorlib.dll>

using namespace System;
using namespace System::IO;
using namespace System::Text;
using namespace System::Collections;
using namespace Security::Cryptography;
using namespace System::Runtime::InteropServices;
/* Triple DES */
/* txt: [IN] Plain Text
 * enc: [OUT] encrpted string
*/
int CCrypto::CryptEncode3Des(char * txt, char * enc)
{

Byte key[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24};
Byte iv[] = {65, 110, 68, 26, 69, 178, 200, 219};
int cnt, encnt;
//Byte encodedBytes[];
String *str = new String(txt);

UTF8Encoding *utf8 = new UTF8Encoding();

//Transform the plainText into a Byte array.
Byte encodedBytes[] = utf8->GetBytes(str);

//Create a new TripleDES service provider 
TripleDESCryptoServiceProvider *tdes = new
TripleDESCryptoServiceProvider();

//along with encryption key and init vector
ICryptoTransform *transformer =
tdes->CreateEncryptor(key, iv);

// Provide a memory stream to encrypt information
into stream
    MemoryStream *encryptedStream = new
MemoryStream();
CryptoStream *cryptStream = new
CryptoStream(encryptedStream, transformer,
CryptoStreamMode::Write);

//Write the encrypted information to the stream
cryptStream->Write(encodedBytes, 0,
encodedBytes.Length);
cryptStream->FlushFinalBlock();
encryptedStream->Position = 0;

//Read the stream back into a Byte array
Byte result[] = new Byte[encryptedStream->Length];
encryptedStream->Read(result, 0,
encryptedStream->Length);
    
UTF8Encoding *enutf8 = new UTF8Encoding();
sprintf(enc, "%s", enutf8->GetString(result));

cryptStream->Close();

return 0;
}
// decode an encrypted string
// enc:[IN] encrypted string
// dec:[OUT] decrypted string
// return 0: successful, others: error code
int CCrypto::CryptDecode3Des(char * enc,  char * dec)
{

Byte key[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24};
Byte iv[] = {65, 110, 68, 26, 69, 178, 200, 219};
String *str = new String(enc);
int cnt;
UTF8Encoding *utf8 = new UTF8Encoding();
Byte decodedBytes[] = utf8->GetBytes(str);//here is
wrong

//Create a new TripleDES service provider 
TripleDESCryptoServiceProvider *tdes = new
TripleDESCryptoServiceProvider();
//along with encryption key and init vector
ICryptoTransform *transformer =
tdes->CreateDecryptor(key, iv);

// Provide a memory stream to encrypt information
into stream
    MemoryStream *decryptedStream = new
MemoryStream();
decryptedStream->set_Capacity(arr_len);
CryptoStream *cryptStream = new
CryptoStream(decryptedStream, transformer,
CryptoStreamMode::Write);

//Write the decrypted information to the stream
cryptStream->Write(decodedBytes, 0,
decodedBytes.Length);
cryptStream->FlushFinalBlock();
decryptedStream->Position = 0;
//Read the stream back into a Byte array
Byte result[] = new
Byte[(int)decryptedStream->Length];
decryptedStream->Read(result, 0,
decryptedStream->Length);  
//
UTF8Encoding *deutf8 = new UTF8Encoding();
sprintf(dec, "%s", deutf8->GetString(result));

cryptStream->Close();
return 0;
}
21

[mfc 52226] WS_POPUPで作成するウインドウ

はじめまして、IsaoOhnukiです。
VC++2003にてMFC無しのActiveXを開発しています。
自作のActiveXコントロールにコンボボックスを表現したくて、
CContainedWindowクラスで標準ListBoxをラップし
CContainedWindow::Createで動的に作成していますが、オーナードローが
うまくいきません。

このListBoxは親ウインドウに自作コントロール、ウインドウスタイルに
WS_POPUP | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_BORDER | 
WS_VSCROLL | LBS_NODATA | LBS_OWNERDRAWFIXED
を設定しているのですがこのときはWM_DRAWITEMは拾えるのですが
キー関係のメッセージが来てくれません。

そこで親ウインドウをNULLに設定すると、今度はキーメッセージは拾えるのですが
WM_DRAWITEMが来てくれません。FAQのような気もするのですが回避できるでしょうか。 
記事検索
Amazon.co.jp
  • ライブドアブログ