Quantcast
Channel: Visual Studio フィードバック フォーラム
Viewing all 80 articles
Browse latest View live

VisualStudio2005イベントハンドラウィザードのBUG?

$
0
0

MSDNについているVisualStudio2005を利用して、MFCの拡張DLL群(15個)を開発しています。

DLLプロジェクトにあるダイアログ上のボタンのクリックイベントハンドラの追加に、イベントハンドラウィザードを利用すると、「コード要素`CXXXXDlg`が読み取り専用であるため、追加と削除操作は出来ません。」とのエラー発生し、追加できない状況です。

ベントハンドラウィザードを利用しハンドラの追加などは開発の最初は大体OKでしたが、最近になってラウィザードでのハンドラ追加は全然出来なくなりました。

このエラーメッセージは何にを意味するのでしょうか?全然わけが分からない内容で困っています。

BUGではないでしょうか?ご存知の方いらっしゃいませんか?

 

開発環境はWindowsXPProfessionalOS(SP2)に

Microsoft Visual Studio 2005
Version 8.0.50727.42  (RTM.050727-4200)
Microsoft .NET Framework
Version 2.0.50727

インストールされている Edition: Enterprise

Microsoft Visual Basic 2005   77952-113-3000004-41755
Microsoft Visual Basic 2005

Microsoft Visual C# 2005   77952-113-3000004-41755
Microsoft Visual C# 2005

Microsoft Visual C++ 2005   77952-113-3000004-41755
Microsoft Visual C++ 2005

Microsoft Visual J# 2005   77952-113-3000004-41755
Microsoft Visual J# 2005

Microsoft Visual Studio Tools for Office   77952-113-3000004-41755
Microsoft Visual Studio Tools for the Microsoft Office System

Microsoft Visual Web Developer 2005   77952-113-3000004-41755
Microsoft Visual Web Developer 2005

Visual Studio 2005 Team Edition for Developers   77952-113-3000004-41755
Microsoft Visual Studio 2005 Team Edition for Software Developers

Crystal Reports    AAC6G-J0CSA4B-U7000AN
Crystal Reports for Visual Studio 2005

 

 


MS-DOS の BASIC dBASE を Windows Vista で動かしたい

$
0
0

Windows 95でDOSとの領域分割では成功し、 MS-DOSの BASIC、dBASE の技術計算プログラムを、Windows Vista で動かしたくて、

DOS BOX、Visual Studio etc、 テストしましたが、 要領を得ず困っております。 なにか良い方法を教えてください。

LightSwitchのインストール

$
0
0

Visual Studio LightSwitch 2011の正式版がMSDNで公開されましたので、検証のためにインストールを行っています。

インストールを行ったところ、Visual Studio 2010にSP1が適用されているとインストール出来なかったり、LightSwitchインストール後にVisual Studio 2010をインストールしようとするとインストールエラーになったり、試行錯誤しながらインストールを行っています。

LightSwitchのサイトを見てみましたが、インストール手順については記載されていない(?)ようで、LightSwitchインストール後にVisual Studio 2010がインストールできないようで、ログを見ながら原因を調べています。

LightSwitchのインストールについて書かれたサイトはないでしょうか?

 

 

クラス定義内で初期化され、クラス外宣言されない static const メンバを dll エクスポートできないことがあるかもしれない?

$
0
0

// Connect の方にフィードバックとしてだすかどうか悩んだのですが
// なにか大きな勘違いをしているだけかもしれないので、まずみなさんにも確認していただけたらと思います。

ICU (International Components for Unicode) (http://site.icu-project.org/) の 4.8.1 をダウンロードしました。
ソリューションファイルが Visual Studio 2010 のタイプしか用意されていない為、
Visual C++ 2010 Express でソリューションを開き、Visual C++ 9.0 (2008) でビルドするため、
makedata プロジェクト以外のすべてのプロジェクトについてプロジェクトプロパティの「全般」から
「プラットフォームツールセット」を v90 に変更し、ビルドしたところ、intltest プロジェクトにて
stringpiece::npos の外部参照を解決できないエラーがでます。

dumpbin /exports icuuc48.dll (icu 4.8.1 内の common プロジェクトで生成されるファイル)でエクスポートされている内容を調べたところ、
vc100 (2010) でビルドしたものは、2378 number of names であるのにたいし、
vc90 (2008) でビルドしたものは、2377 number of names となっており、
stringpiece::npos のエクスポートだけが抜け落ちているようでした。

// ここで、2008 と 2010 では c++ の名前修飾は同じだし、2010 でビルドされた dll を 2008 でコンパイルされたものとリンクできるので
// わざわざ 2008 でビルドする必要なんてないというつっこみはなしでお願いします。
// そういう話ではありません。

理由をしらべてみたところ、stringpiece.cpp において以下のようなコードがあったためでした。

#if (!defined(_MSC_VER) || (_MSC_VER > 1500)) && !defined(CYGWINMSVC)const int32_t StringPiece::npos;
#endif


Visual C++ 9.0 (2008) の _MSC_VER は 1500 なので、

const int32_t StringPiece::npos;

はコード化されず、npos がエクスポートされないということのようです。
実際に、このコード部分をコメントアウトすると、vc100 (2010) でビルドしても
2377 number of names となり、StringPiece::npos だけがエクスポートされなくなります。

ここで、stringpiece.h をみると、

public:<省略>staticconst int32_t npos = 0x7fffffff;

と、public メンバとしてクラス内で初期化も行われています。
整数型な static const メンバ以外はクラス内で初期化できない為、クラス外で初期化する必要があり、
クラス外で宣言初期化を行わなかった場合変数が作成されず(?)、エクスポートもされないということはわかります。
しかし、 ここでの int32_t は typedef で signed int の別名となっている為問題はないはずです(そもそもコンパイルが通ります)。

自分で dll プロジェクトを作成し、クラス定義内で初期化される static const int な public メンバを用意し(クラス外で宣言しない)、ビルドしても
きちんとエクスポート出来ています。
当然それを別のプロジェクトからリンクすることもできます。

ICU 4.8.1 内のの別プロジェクト(i18n) に同様に 整数型で public な static const メンバがあったので
そちらでも確認してみました。
tzrule.h で定義されている AnnualTimeZoneRule で以下の定義があります。

staticconst int32_t MAX_YEAR;

そして、tzrule.cpp で以下の宣言が行われています。

const int32_t AnnualTimeZoneRule::MAX_YEAR = 0x7FFFFFFF; /* max signed int32 */

そこで、このコードをコメントアウトし(クラス定義外で初期化も宣言もしない)、tzrule.h 内での定義を以下のようにして MAX_YEAR をクラス定義内で初期化することにします。

staticconst int32_t MAX_YEAR = 0x7FFFFFFF;

これで先ほどの stringpiece::npos とコード上では同様の状態になっていると思います。
しかし、これをビルドし、dumpbin /exports icuin48.dll で確認すると、MAX_YEAR はエクスポートされたままです。

 

この状況をどう理解すればいいのかわかりません。

ICU を使用するという点ではどうでもいいことです。名前修飾の方法がかわらないかぎり、最新のコンパイラで生成されたバイナリでも
2008 からリンクできるからです。
また、sringpiece 内での初期化を避け、クラス外宣言で初期化しそのコードを #if ~ #endif で囲むのをやめてもらえば済むことです。

が、それで終わっていいものかどうかもわかりません。
もしバグなら修正されるべき内容かと思います。回避策はあるので修正してもらえないと思いますけど。

一番いいのは自分の勘違いで終わることなんですけど。

もしなにか御存じのことがあれば返信下さい。お願いします。


 

 



How to LightSwith install on Windows7 ultimate x64 when "ISetupManager::InternalInstallManager() with HRESULT -2147023293." ?

$
0
0

I bought LightSwitch promotinal DVD , but I could not install it. 

Under data is Error Log.

[11/05/11,12:33:56] setup.exe: [2] ISetupComponent::Pre/Post/Install() failed in

ISetupManager::InternalInstallManager() with HRESULT -2147023293.
[11/05/11,12:33:59] SimpleUI: [2] DepCheck indicates Microsoft Visual Studio LightSwitch 2011 - JPN is

not installed.
[11/05/11,12:39:53] setup.exe: [2] ISetupComponent::Pre/Post/Install() failed in

ISetupManager::InternalInstallManager() with HRESULT -2147023293.
[11/05/11,12:39:55] SimpleUI: [2] DepCheck indicates Microsoft Visual Studio LightSwitch 2011 - JPN is

not installed.
[11/05/11,12:46:23] setup.exe: [2] ISetupComponent::Pre/Post/Install() failed in

ISetupManager::InternalInstallManager() with HRESULT -2147023293.
[11/05/11,12:46:26] SimpleUI: [2] DepCheck indicates Microsoft Visual Studio LightSwitch 2011 - JPN is

not installed.
[11/05/11,13:37:27] setup.exe: [2] ISetupComponent::Pre/Post/Install() failed in

ISetupManager::InternalInstallManager() with HRESULT -2147023293.
[11/05/11,13:37:31] SimpleUI: [2] DepCheck indicates Microsoft Visual Studio LightSwitch 2011 - JPN is

not installed.
[11/05/11,13:43:01] setup.exe: [2] ISetupComponent::Pre/Post/Install() failed in

ISetupManager::InternalInstallManager() with HRESULT -2147023293.
[11/05/11,13:43:02] SimpleUI: [2] DepCheck indicates Microsoft Visual Studio LightSwitch 2011 - JPN is

not installed.
[11/05/11,14:17:53] setup.exe: [2] ISetupComponent::Pre/Post/Install() failed in

ISetupManager::InternalInstallManager() with HRESULT -2147023293.
[11/05/11,14:17:55] SimpleUI: [2] DepCheck indicates Microsoft Visual Studio LightSwitch 2011 - JPN is

not installed.
[11/06/11,14:42:16] setup.exe: [2] ISetupComponent::Pre/Post/Install() failed in

ISetupManager::InternalInstallManager() with HRESULT -2147023293.
[11/06/11,14:42:18] SimpleUI: [2] DepCheck indicates Microsoft Visual Studio LightSwitch 2011 - JPN is

not installed.
[11/08/11,13:19:49] setup.exe: [2] ISetupComponent::Pre/Post/Install() failed in

ISetupManager::InternalInstallManager() with HRESULT -2147023293.
[11/08/11,13:19:52] SimpleUI: [2] DepCheck indicates Microsoft Visual Studio LightSwitch 2011 - JPN is

not installed.

VC, 関数テンプレート特殊化とデフォルト引数の型

$
0
0

1. VS 2010 の cl で以下が通りません。

template<typename T> void f(T* =0){}template<> void f<char>(char*){}template<> void f<int>(int*){}int main(){
  f<char>();
  f<int>();return 0;
}

エラーメッセージは以下の通りです。

x.cpp(5) : error C2440: 'default argument' : 'T *' から 'char *' に変換できません。
        指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
x.cpp(6) : error C2440: 'default argument' : 'T *' から 'int *' に変換できません。
        指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。


2. そこで、f(T* =0) を f(T* =(T*)0) に変えてみると、5 行目のエラーは消えますが、6 行目でまたエラーになります。(以下)

 

template<typename T> void f(T* =(T*)0){}
template<> void f<char>(char*){}
template<> void f<int>(int*){}
int main(){
  f<char>();
  f<int>();
  return 0;
}
x.cpp(6) : error C2440: 'default argument' : 'char *' から 'int *' に変換できません。
        指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。

g++ 3 / g++ 4 では通るのでコード自体に問題はないと思うのですが、何が悪いのでしょう。

(畏れながら書きますとコンパイラの不具合じゃないかと思うのですが。)

環境: 以下の三つのコンパイラで全く同じ動作でした。

- Win XP, VS2008 の cl (version 15.00.30729.01 for 80x86)

- Win XP, VS2010 beta2 の cl (version 16.00.21003.01 for 80x86)

- Win 7, VS2010 の cl (version 16.00.30319.01 for 80x86)


 

 

 

AxWindowsMediaPlayerについて

$
0
0

はじめまして、bonproです。

よろしくお願いします。

 

この度、AxWindowsMediaPlayerを使用したアプリケーションを作成しています。

このアプリではキーを押した時のAxWindowsMediaPlayerの再生時間を取得し利用しているのですが、(同じ時間に押しても)どうしても以下のA,Bのコードでは時間が異なります。

(ここではAxWindowsMediaPlayerコントロールを、"Player"としています。

また予めURLは指定してあり、状態はStopとします。)

 

(A)

 

    Player.Ctlcontrols.play()

 

(B)

 

     Player.Ctlcontrols.play()
     Player.Ctlcontrols.currentPosition = 0

 


なお、以下上記コードから取得したKeyDownとKeyUp時刻です。(Console.WriteLineで出力しました。)

(手動ですので、誤差が出ますが...)

(A)

 

Start:1.9857385 EndTime:2.0568635
Start:2.2062801 EndTime:2.257051
Start:2.4053426 EndTime:2.4492801
Start:2.7535093 EndTime:2.8574884
Start:3.0583843 EndTime:3.0586343
Start:3.1661134 EndTime:3.2415509
Start:3.5217384 EndTime:3.6170301
Start:3.8666759 EndTime:3.8668634
Start:3.9659051 EndTime:4.0255717

 

(B)

 

Start:2.167 EndTime:2.2707083
Start:2.4425624 EndTime:2.4706666
Start:2.6431666 EndTime:2.6628749
Start:2.9429791 EndTime:3.0309166
Start:3.2184166 EndTime:3.2465832
Start:3.3539582 EndTime:3.4868124
Start:3.7832082 EndTime:3.8945415
Start:4.0840832 EndTime:4.0844165
Start:4.2283332 EndTime:4.2791665

何度やっても上の結果のように、0.20秒ほど時間がずれてしまいます。

 

 

ただ、

 

     Player.Ctlcontrols.play()
     Player.Ctlcontrols.currentPosition = 0
     MsgBox(Player.Ctlcontrols.currentPosition.ToString)

 

 

     Player.Ctlcontrols.play()

     Player.Ctlcontrols.pause()
     Player.Ctlcontrols.currentPosition = 0
     Player.Ctlcontrols.play()

 

のようにすると、ずれはなくなり(A)の結果になります。

 

これは仕様なのでしょうか。

 

 

環境は...

VisualStudio2010 Professional

Windows7 Professional(x64)

WindowsMediaPlayer 12

(使用言語...VisualBasic)

です。

 

 

よろしくお願い致します。


Team Explorer 日本語版がダウンロードできない

$
0
0

http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=46473C2A-BB85-4461-BB27-4792A5DEF222

で、Team Explorer 2005 日本語版が公開されています。(「言語」のドロップダウンリストで「日本語」が選択できる状況)

ですが、ダウンロードできるファイルをメディアに焼いてインストールすると、英語版であることがわかります。
これは、何らかの手違いではないでしょうか?(登録ミス?)

■ 関連情報

別途公開されている「Team Foundation Server 2010 (インストーラー) 用の Visual Studio Team System 2005 Service Pack 1 上位互換性更新プログラム」をインストールしようとすると、「対象製品が存在しないためインストールできない」という趣旨のエラーが表示されます。

http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=22215E4C-AF6F-4E2F-96DF-20E94D762689

これを回避するためには、英語版の Visual Studio 2005 SP1 をインストールする必要があることがわかりました。

http://www.microsoft.com/download/en/details.aspx?id=5553

Team Explorer のみのために、Visual Studio 2005 の英語版サービスパックを適用するのは、できれば避けたいと考えています。


Visual Studio 2010 Expressでコード編集中に例外が発生する

$
0
0

Visual Studio 2010 Expressでコード編集中に例外が発生してしまいます。

 

Visual Studio は例外を検出しました。拡張機能が原因である可能性があります。

詳細な情報を得るには、コマンドラインで /log パラメーターを指定してアプリケーションを実行し、’C:\Documents and Settings\xxxx\Application Data\Microsoft\VisualStudio\10.0\ActivityLog.xml’ ファイルを調べて下さい。

というダイアログが出ます。

指示通り /log を付けてVS 2010を起動後、activitylog.xml を開くと、問題に関連していそうな次のようなメッセージがありました。

 

 

System.IO.FileNotFoundException: 指定されたファイルが見つかりません。
   場所 MS.Internal.Text.TextInterface.Native.Util.ConvertHresultToException(Int32 hr)
   場所 MS.Internal.Text.TextInterface.Font.CreateFontFace()
   場所 MS.Internal.Text.TextInterface.Font.AddFontFaceToCache()
   場所 MS.Internal.Text.TextInterface.Font.GetFontFace()
   場所 System.Windows.Media.GlyphTypeface..ctor(Font font)
   場所 MS.Internal.FontFace.PhysicalFontFamily.GetGlyphTypeface(FontStyle style, FontWeight weight, FontStretch stretch)
   場所 MS.Internal.FontFace.PhysicalFontFamily.MS.Internal.FontFace.IFontFamily.GetTypefaceMetrics(FontStyle style, FontWeight weight, FontStretch stretch)
   場所 System.Windows.Media.Typeface.ConstructCachedTypeface()
   場所 System.Windows.Media.Typeface.get_CachedTypeface()
   場所 System.Windows.Media.Typeface.CheckFastPathNominalGlyphs(CharacterBufferRange charBufferRange, Double emSize, Double scalingFactor, Double widthMax, Boolean keepAWord, Boolean numberSubstitution, CultureInfo cultureInfo, TextFormattingMode textFormattingMode, Boolean isSideways, Boolean breakOnTabs, Int32& stringLengthFit)場所 MS.Internal.TextFormatting.SimpleRun.CreateSimpleTextRun(CharacterBufferRange charBufferRange, TextRun textRun, TextFormatterImp formatter, Int32 widthLeft, Boolean emergencyWrap, Boolean breakOnTabs)
   場所 MS.Internal.TextFormatting.SimpleRun.Create(FormatSettings settings, CharacterBufferRange charString, TextRun textRun, Int32 cp, Int32 cpFirst, Int32 runLength, Int32 widthLeft, Int32 idealRunOffsetUnRounded)
   場所 MS.Internal.TextFormatting.SimpleTextLine.Create(FormatSettings settings, Int32 cpFirst, Int32 paragraphWidth)
   場所 MS.Internal.TextFormatting.TextFormatterImp.FormatLineInternal(TextSource textSource, Int32 firstCharIndex, Int32 lineLength, Double paragraphWidth, TextParagraphProperties paragraphProperties, TextLineBreak previousLineBreak, TextRunCache textRunCache)
   場所 MS.Internal.TextFormatting.TextFormatterImp.FormatLine(TextSource textSource, Int32 firstCharIndex, Double paragraphWidth, TextParagraphProperties paragraphProperties, TextLineBreak previousLineBreak)
   場所 System.Windows.Media.FormattedText.LineEnumerator.FormatLine(TextSource textSource, Int32 textSourcePosition, Double maxLineLength, TextParagraphProperties paraProps, TextLineBreak lineBreak)
   場所 System.Windows.Media.FormattedText.LineEnumerator.MoveNext()
   場所 System.Windows.Media.FormattedText.DrawAndCalculateMetrics(DrawingContext dc, Point drawingOffset, Boolean getBlackBoxMetrics)
   場所 System.Windows.Media.FormattedText.get_Metrics()
   場所 Microsoft.VisualStudio.Text.Formatting.Implementation.TextInfoCache.GetTextInfo(TextRunProperties key)
   場所 Microsoft.VisualStudio.Text.Formatting.Implementation.FormattedTextSourceFactoryService.Create(ITextSnapshot sourceTextSnapshot, ITextSnapshot visualBufferSnapshot, Int32 tabSize, Double baseIndentation, Double wordWrapWidth, Double maxAutoIndent, Boolean useDisplayMode, IClassifier aggregateClassifier, ITextAndAdornmentSequencer sequencer, IClassificationFormatMap classificationFormatMap, Boolean isViewWrapEnabled)
   場所 Microsoft.VisualStudio.Text.Editor.Implementation.WpfTextView.PerformLayout(ITextSnapshot newSnapshot, ITextSnapshot newVisualSnapshot, SnapshotPoint anchorPosition, Double verticalDistance, ViewRelativePosition relativeTo, Double effectiveViewportWidth, Double effectiveViewportHeight)
   場所 Microsoft.VisualStudio.Text.Editor.Implementation.WpfTextView.PerformLayout(ITextSnapshot newSnapshot, ITextSnapshot newVisualSnapshot)
   場所 Microsoft.VisualStudio.Text.Editor.Implementation.WpfTextView..ctor(ITextViewModel textViewModel, ITextViewRoleSet roles, IEditorOptions parentOptions, WpfTextEditorFactoryService factoryService)
   場所 Microsoft.VisualStudio.Text.Editor.Implementation.WpfTextEditorFactoryService.CreateAndTrackTextView(ITextViewModel viewModel, ITextViewRoleSet roles, IEditorOptions parentOptions)
   場所 Microsoft.VisualStudio.Text.Editor.Implementation.WpfTextEditorFactoryService.CreateAndTrackTextView(ITextDataModel dataModel, ITextViewRoleSet roles, IEditorOptions parentOptions)
   場所 Microsoft.VisualStudio.Text.Editor.Implementation.WpfTextEditorFactoryService.CreateTextView(ITextDataModel dataModel, ITextViewRoleSet roles, IEditorOptions parentOptions)
   場所 Microsoft.VisualStudio.Text.Editor.Implementation.WpfTextEditorFactoryService.CreateTextView(ITextBuffer textBuffer, ITextViewRoleSet roles)
   場所 Microsoft.VisualStudio.Language.Intellisense.Implementation.SignatureHelpSessionView.CreateSignatureTextView()
   場所 Microsoft.VisualStudio.Language.Intellisense.Implementation.SignatureHelpSessionView.BindToSession()
   場所 Microsoft.VisualStudio.Language.Intellisense.Implementation.DefaultSignatureHelpPresenter.AttachToSession(ISignatureHelpSession session)
   場所 Microsoft.VisualStudio.Language.Intellisense.Implementation.DefaultSignatureHelpPresenterProvider.TryCreateIntellisensePresenter(IIntellisenseSession session)
   場所 Microsoft.VisualStudio.Language.Intellisense.Implementation.Helpers.<>c__DisplayClass3.<FindPresenter>b__1(IIntellisensePresenterProvider factory)場所 Microsoft.VisualStudio.Text.Utilities.GuardedOperations.InstantiateExtension[TExtension,TMetadata,TExtensionInstance](Object errorSource, Lazy`2 provider, Func`2 getter)

 

発生条件ですが、インテリセンスで関数シグネチャを表示させようとした瞬間に落ちているようです。例えば

printf(

と括弧を打ち込んだ瞬間に上記エラーが発生します。

 

http://social.msdn.microsoft.com/Forums/ja/vcgeneralja/thread/3f873e9c-eadb-45a1-af96-72712dcfd4fb

こちらも参考にしましたが、レジストリのキーは正常ですし、指定されたパスにはファイルが存在しております。

 

VS2010 Expressのアンインストール・再インストールも試してみましたが、こちらも特に影響はありませんでした。

 

 

もし何かこの問題に対する情報など御座いましたら教えて頂けないでしょうか。

宜しくお願いいたします。

 

XPSファイル印刷について、カラー印刷、NIn1設定をPrintTicketに設定したのに、正しく印刷できない

$
0
0
WindowsServiceプロジェクト側でPrintTicketにカラー印刷(OutputColor.Color)、2In1を設定して、「PrintQueue.AddJob()」メソッドを呼び出してXPSファイルの印刷処理を行いますが、白黒印刷になってしまいました、2In1も出てきませんでした。

※ プリンターはカラー印刷、2In1などサポートします。

XP,SP3上のVS2010でvc++のプログラム作成

$
0
0

3日前にVS2010をインストールし、VC++のコンソールexeを作成しました。

cin.peek()と.get()を使って入力のコピープログラムを作りました。実行させると入力データの文字が飛んでいます。正しくコピーさせる方法を教えてください。

VC++2010SP1で作成したMDIアプリケーションのタブが表示されない

$
0
0

開発環境をVS2008SP1からVS2010SP1にアップグレードしたところMFCのMDIアプリケーションで

複数のドキュメントを分割して表示したときにスプリッタ―を移動してもタブが再描画されないという現象がでて困っています。

新規にプロジェクトを作成しても再現させることができたので手順を以下に記します。

1.VS2010で新しいプロジェクトを作成して「MFCアプリケーション」選択する

2.ウィザードが出るが特に変更せずにMDIアプリケーションを作成する

3.ビルドして実行。

4.新しいドキュメントを2つほど追加で作成する。

5.最後のドキュメントのタブをドラッグして上下に分割する。

6.上段の2つのドキュメントのうち最初からあったドキュメントをタブを選択してアクティブにする。

7.ワークスペースのスプリッタ―を上方向にドラッグして上下の割合を変更する。

とすると下段側のタブとスプリッタ―が再表示されずに白抜きになってしまいます。

 

この場合は無理やり再描画させて回避することもできそうなのですが、再現性はないのですが

他のオペレーションでも再描画されないという現象が出ているようなので抜本的な解決策があればと質問させてもらいました。

VS2010 + InterNational Feature Pack 2.0 YomiganaWPFTextBoxコントロールを使用したときのメモリ開放について

$
0
0

上記組合せでWindowクラスを作成し、ポップアップ表示させた後でクローズするとWindowクラスが使用していたメモリが開放されない現象で困っています。
Close後にGCの実行をしても開放されません。
回避策等ご存知の方いらっしゃいましたらお願いします。

XAML

<Window x:Class="Try.SimpleKana.SimpleWindow"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:i="clr-namespace:Microsoft.International.Windows.Controls;assembly=YomiganaWPFTextBox"
         xmlns:me="clr-namespace:Try.SimpleKana"
         Closed="Window_Closed"
         Title="SimpleWindow" SizeToContent="WidthAndHeight"><StackPanel><GroupBox Header=""><StackPanel><StackPanel  Orientation="Horizontal"><Label Content="漢字" Width="100"/><i:YomiganaWPFTextBox Name="C_Kanji"
                                           BindingControl="C_Yomi"
                                           AcceptsReturn="False"
                                           InputMethod.PreferredImeState="On"
                                           Width="200"/></StackPanel><StackPanel  Orientation="Horizontal"><Label Content="読み" Width="100"/><TextBox Name="C_Yomi" Width="200" /></StackPanel><Button Content="表示" Width="100" Click="GoClick"/></StackPanel></GroupBox></StackPanel></Window>

XAML.cs

    public partial class SimpleWindow : Window {
         private byte[] bytes;
         public SimpleWindow() {
             InitializeComponent();
             bytes = new byte[1024 * 1024 * 10]; //10MBほど確保してみる
         }
         ~SimpleWindow() {
             Debug.WriteLine("@@@ Finalized", this.GetType().Name);
         }
         private void Window_Closed(object sender, EventArgs e) {
             Debug.WriteLine("@ Closed()", this.GetType().Name);
             C_Kanji.Dispose();
         }
         //入力値を表示
         private void GoClick(object sender, RoutedEventArgs e) {
             MessageBox.Show(string.Format("Kanji = [{0}] Yomi =
[{1}]",C_Kanji.Text,C_Yomi.Text));
         }
     }

Windows update(KB2656373)を適用するとvc++2008でコンパイルエラーが発生します

$
0
0

昨日(4/12)、Windowsの更新プログラム(KB2656373)を適用した後、

vc++ 2008 Express でコンパイルをかけたところ、以下のエラーが発生しました。

----- エラーメッセージ ---------------------------------------------------

1>Form.h(133) : fatal error C1001: コンパイラで内部エラーが発生しました。

1>( コンパイラファイル 'msc1.cpp' 、行1411)
1> この問題を回避するには、上記の場所付近のプログラムを単純化するか変更してください。
1> 詳細については、 Visual C++ ヘルプメニューのサポート情報コマンドを
1> 選択してください。またはサポート情報ヘルプファイルを参照してください。
1>        'System::Drawing::StringFormatFlags ' をアセンブリ'System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' からインポート中に、この診断が発生しました。

1>        'System::Windows::Forms::DataGridView ' をアセンブリ'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' からインポート中に、この診断が発生しました。

----- エラーメッセージ終わり ---------------------------------------------

上記の更新プログラムをアンインストールした後、再度コンパイルすると問題無くコンパイルは通ります。

私のPC環境は、以下の通りです。

Windows 7 Professional, SP1

Visual C++ 2008 Express Edition, SP1

Microsoft .NET Framework Version 3.5 SP1

何か回避策は無いでしょうか? ご教示のほど、宜しくお願い致します。

フィードバック センターから日本の質問が消えた?

$
0
0

Microsoft Connect の Visual Studio & .NET Framework フィードバックから日本語のフィードバックがすべて消えてるようです。

https://connect.microsoft.com/VisualStudioJapan/feedback/

自分のフィードバックも一つも残っていません。何等かの不具合が発生しているのかと思ってしばらく静観していましたが、復旧もしませんし何の告知もありません。この問題をどこに報告すればいいのか判らないのため、こちらで報告させて頂きますが、どうなっているのでしょうか?

 


ひらぽん http://d.hatena.ne.jp/hilapon/

VisualSourceSafe2005のAnalyzeでRuntime Error

$
0
0

こんにちは。

現在、Visual SourceSafe6(6d)を利用しています。
VSSデータベースの運用管理として、定期的に Analyze.exeを実行していたのですが、あるとき、格納してある日本語のファイル名が壊れてしまう現象が発生し、壊れたファイルのI/Oができなくなってしまうという事が起こって以来、Analyze.exeの実行をやめてしまいました。
(参考 : http://support.microsoft.com/default.aspx?scid=kb;ja;418298 )

今回、Visual SourceSafe2005 を使用する機会を得ました。
VSS2005はVSS6とデータベースレベルで完全互換であるとお聞きしましたので、上記の壊れてしまったファイルの修正ができるかという期待もあり、VSSデータベースの移行を試みました。

従来使っていた環境に向けて、VSS2005に付属している Analyze.exe (Version8.0) を実行すると、しばらく実行が進んだ後、

 Microsoft Visual C++ Runtime Library
 
 Runtime Error!
 Program: D:\Program Files\Microsoft Visual SourceSafe\analyze.exe

 This application has requested the Runtime to terminate it in an unusual way.
 Please contact the application's support team form more information.

という赤にペケのエラーダイアログが表示されてプログラムが強制終了してしまいます。
強制終了の直前まで表示されている「分析結果」ウィンドウには、それなりにDBにエラーがあることが表示されています(長い期間 Analyzeしていなかったからだと思います)。

VSS6ででもVSS2005ででも、VSSエクスプローラではそれなりにアクセスできるので、DBのメンテナンスができないことを除けば使えるのですが、いつ破壊してしまうのかを恐れながら使うのも困ったものなので、いい案が無いかと思いご質問させていただきます。

VSS6のDBに対してVSS2005の Analyze.exe を実行して、DBメンテナンスを行おうとしたとき、RuntimeErrorが発生してプログラムが停止してしまうことに関して、何らかの解決策もしくは、回避するための手順などありましたら教えてください。

よろしくお願いします。

VS2010セットアッププロジェクトで作成したインストーラでvcredist_x86インストールがエラーになる

$
0
0

VS2010にてセットアッププロジェクトを利用して、インストーラを作成しました。

必須コンポーネントとして「Visual C++ 2010 ランタイムライブラリ(x86)」を「アプリケーションと同じ場所から必須コンポーネントをダウンロードする」設定で

インストーラに含めた所、WindowsVista(Bussiness)でインストール実行時にvcredist_x86.exeが

「Error: ファイル 'C:\Users\xxxx\AppData\Local\Temp\VSDCD82.tmp\vcredist_x86\vcredist_x86.exe' は最初に発行されて以来変更されています。」

とエラー表示されインストールに失敗する現象が発生しました。

Vistaでも他アプリのインストール状態によっては、発生しない模様で他のOS(Windows7、XP)では現象が再現できていない状態です。

また、MicrosoftのHPからダウンロードした「vcredist_x86.exe」での手動でのインストールは、問題ありませんでした。

同様の現象が発生した方、あるいは同様の現象が発生し解決できた方はおられますでしょうか?

MS12-025 を適用すると PrintDialog を表示して指定した設定が有効にならない

$
0
0

MS12-025 を適用すると、C# アプリケーションから PrintDocument を利用して GDI+ で印刷を行う場合に、PrintDialog を利用して指定した設定が有効にならない場合がある。

どのような設定が無効になるかはプリンタの機種に依存する.
Richo imagio MP C5001: 複数ページを1ページにまとめて印刷する指示ができなくなる
リコーsp6110、コニカミノルタ751/601 :  A3→A4への縮小印刷ができない。A3で印刷しようとする。
富士ゼロックス Docuprint 405、Docprint 3650 : 90X100mmの印刷してもA1用紙で印刷される
富士ゼロックス アテオスポート450i : 用紙トレイの指定をしても、既定のトレイを利用する

プリンタの機種に依存しない模様
また、プリンタドライバのバージョンにも依存しない模様

.NET Framework 1.1, 2.0, 4.0 で現象を確認
MS12-025 のパッチを削除すると、指定通りに動作する。

以下のようなコードで再現する

---------------------------- サンプルコード
PrintDocument doc;

int        cpage = 0;

private void button1_Click(object sender, System.EventArgs e)
{
    doc = new PrintDocument();
    doc.BeginPrint +=new PrintEventHandler(doc_BeginPrint);
    doc.EndPrint+=new PrintEventHandler(doc_EndPrint);
    doc.QueryPageSettings+=new QueryPageSettingsEventHandler(doc_QueryPageSettings);
    doc.PrintPage+=new PrintPageEventHandler(doc_PrintPage);

    cpage = 0;

    doc.Print();

}

private void doc_BeginPrint(object sender, PrintEventArgs e)
{
    using(System.Windows.Forms.PrintDialog prnDialog = new System.Windows.Forms.PrintDialog())
    {
        prnDialog.Reset();
        prnDialog.Document = doc;
        prnDialog.AllowSelection = false;
        prnDialog.AllowSomePages = true;
        if (DialogResult.OK != prnDialog.ShowDialog()) // 実行時にはここでプリンタのプロパティで詳細な指定を行う。
        {
            e.Cancel = true;
        }
    }
}

private void doc_QueryPageSettings(object sender, QueryPageSettingsEventArgs e)
{

}

private void doc_EndPrint(object sender, PrintEventArgs e)
{

}

private void doc_PrintPage(object sender, PrintPageEventArgs e)
{
    e.Graphics.DrawRectangle(new Pen(new SolidBrush(Color.Black),2),100,100,100,100);
    cpage++;
    if(cpage >= 5 )
    {
        e.HasMorePages = false;
    }
    else
    {
        e.HasMorePages = true;
    }
}
---------------------------- サンプルコード

ブレークポイントで止めてからステップ実行すると停止する

$
0
0

Visual Studio 2010で、ブレークポイントを張ってプログラムを止めてから、

F10などでステップ実行すると100%止まります。

「Visual Studio 2010 Microsoft Visual Studio は動作を停止しました」というメッセージが表示されています。

C++でも、C#でも同様に止まります。

なにが原因なのでしょうか?

気になるところとしては、Visual Studio 2010 C#のExpressバージョンをインストールして、

その時は使えていたのですが、その後

Visual Studio 2010のProfessional版をインストールしたら、この症状がでるようになりました。

Visual Studio 2010 Survice Pack1を、適用しても同様に問題がでます。

2台のマシンで、同じ問題がでています。

F5で次のブレークポイントに進める場合は、問題はでません。

F10や、F11などのステップインや、ステップアウトなどでエラーがでます。

Visual Studio 2010関連のものをいったん全部アンインストールして、再インストールしてもエラーがでます。


VS2010 で MFCプロジェクトを作成するとビルドエラー

$
0
0

お世話になります。

環境:windows7, VS2010

VS2010 で MFC プロジェクトを作成、なにも変更せずにすぐにビルド、またはリビルドすると 下記のようなエラーが出てしまい、ビルドできません。

winbase.h をいじってしまった可能性もあります。それが影響しているのでしょうか。もしそうであれば winbase.h を手に入れたいのですが、

どのように手に入れたらよいのでしょうか。

どうかよろしくお願い致します。

1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winbase.h(2637): error C2061: 構文エラー : 識別子 'LPCSTR'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winbase.h(3272): error C2065: 'LPCSTR' : 定義されていない識別子です。
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winbase.h(3272): error C2146: 構文エラー : ')' が、識別子 'lpApplicationName' の前に必要です。
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winbase.h(3272): warning C4229: 旧形式が使用されています : データの修飾子は無視されます。
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winbase.h(3272): error C2491: 'GetBinaryTypeA' : dllimport データ の定義は許されません。
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winbase.h(3274): error C2059: 構文エラー : ')'

Viewing all 80 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>