C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 | 1 >>
■9167  Re[1]: WindowsCEにて画面のサイズ変更方法
□投稿者/ 渋木宏明(ひどり) -(2007/10/20(Sat) 03:21:15)
>
    CE のバージョンとプラットフォーム、使用している .NET Compact Framework のバージョンは?
    それによって回答の内容が大きく異なる場合があります。
記事No.9134 のレス /過去ログ21より / 関連記事表示
削除チェック/

■9169  Re[1]: C#からVC6DLLに構造体のchar[]を渡す
□投稿者/ 渋木宏明(ひどり) -(2007/10/20(Sat) 03:33:41)
>
    > [DllImport("test.dll")]
    > public static extern int test(int x, [Out] stTest y);

    マネージで用意したメモリ(=配列)に値をセットして戻ってきてほしいんでしょ?
    だとしたら、[Out] は変。ref か、[In,Out] が妥当。

    ちゃんとマーシャリングのトピックを読めばわかるはず。

    > stTest y = new stTest();

    これじゃあ、構造体メンバになってる配列の分の領域が確保されませんぜ。

    > アレ使うのかな、きっと。

    この場合はハズレ。
    アンマネージと、IntPtr 経由で構造体をやりとりする時に使います>StructToPtr/PtrToStruct

    > VC6DLL--------------------------
    >
    > #pragma pack (4)
    > struct _stTest {
    > char a[1024];

    この char 配列は、C# 側では文字列として扱いたいんですか?
    それとも byte 配列として扱いたいんでしょうか?

    それによって構造体や属性の記述を変える必要があります。
    ∵マーシャラに「文字列」なのか「byte 型の配列」なのかを伝えるため


記事No.9091 のレス /過去ログ21より / 関連記事表示
削除チェック/

■9168  Re[1]: ドライバ開発の環境について
□投稿者/ 渋木宏明(ひどり) -(2007/10/20(Sat) 03:22:04)
>
    > 下位互換がある場合、最新の環境でも作成可能なものなのでしょうか?

    出来るような気がするけど、確認したことはないなぁ。
    DDK のドキュメントかダウンロードページに書いてあるんじゃないですか?
記事No.9163 のレス /過去ログ21より / 関連記事表示
削除チェック/

■35032  C#のニュースチャンネルが見れない
□投稿者/ 飯野っす -(2009/04/17(Fri) 09:29:43)

    分類:[C#] 

    2009/04/17(Fri) 09:30:22 編集(投稿者)
    2009/04/17(Fri) 09:30:17 編集(投稿者)
    2009/04/17(Fri) 09:30:08 編集(投稿者)

    初めて投稿させていただく、飯野っすと申します。
    現在、C#2008 ExpressEditionで開発を行っているのですが、おとといぐらいからスタートページのニュースチャンネルが表示されなくなってしまいました。
    「ツール」の「オプション」内にあるニュースチャンネルのスタートページのURLをブラウザに貼り付けたところ、MSDNでページが見つからないとなってしまいます。
    VB2008では見られることから、通信環境の問題ではないと思うのですが、どの辺を見直せばいいでしょうか?
親記事 /過去ログ61より / 関連記事表示
削除チェック/

■55951  USBメモリのシリアル番号を取得したい
□投稿者/ kaze -(2010/12/20(Mon) 13:21:03)

    分類:[C#] 

    2010/12/20(Mon) 13:23:50 編集(投稿者)

    お世話になります。
    OS:Windows XP
    環境:VisualStudio2010
    使用言語:C#
    .NET:4.0

    C#にてWMIを使用してUSBメモリのシリアル番号を取得したいと思い、下記URLを参考に作ってみたのですが、取得に失敗してしまいます。
    http://blogs.yahoo.co.jp/kinuyo_asami/16010191.html
    VBにコピペしてみたところ動作しましたので、権限等の問題では無いと思われます。

    エラー時のクエリは、以下のようになっています。
    QueryString = "ASSOCIATORS OF {Win32_DiskPartition.DeviceID='Disk #3, Partition #0'} WHERE AssocClass = Win32_LogicalDiskToPartition"

    クエリの記述やパラメータの使い方に何か問題でもあるのでしょうか?
    よろしくお願いします。


    using System.Management; // 参照の追加も必要

    private void button1_Click(object sender, EventArgs e)
    {
    label1.Text = USB_SerialGet("G:");
    }

    private string USB_SerialGet(string strDriveLetter)
    {
    ManagementObjectCollection mocDiskDrives;
    ManagementObjectCollection mocLogicalDisks;
    ManagementObjectCollection mocPartitions;

    string strDriveDeviceID;
    string strPartitionDeviceID;
    string strLogicalDeviceID;
    string strPNPDeviceID;

    using (ManagementObjectSearcher mojWMISeacher = new ManagementObjectSearcher(
    "root\\CIMV2", "SELECT * FROM Win32_DiskDrive Where InterfaceType=\'USB\'")) // USBドライブから検索
    // "root\\CIMV2", "SELECT * FROM Win32_DiskDrive")) // 全てのドライブから検索
    {
    mocDiskDrives = mojWMISeacher.Get();
    foreach (ManagementObject mojDrive in mocDiskDrives)
    {
    strDriveDeviceID = mojDrive.GetPropertyValue("DeviceID").ToString(); // 実行時、"\\\\.\\PHYSICALDRIVE3" が入る
    //strDriveDeviceID = strDriveDeviceID.Replace(@"\\",@"\"); // Replaceが必要?

    mojWMISeacher.Query.QueryString =
    "ASSOCIATORS OF {Win32_DiskDrive.DeviceID=\'" +
    strDriveDeviceID + "\'} WHERE AssocClass = " +
    "Win32_DiskDriveToDiskPartition";
    mocPartitions = mojWMISeacher.Get();

    if (mocPartitions.Count == 0) continue;
    foreach (ManagementObject mojPartition in mocPartitions)
    {
    strPartitionDeviceID = mojPartition.GetPropertyValue("DeviceID").ToString();
    mojWMISeacher.Query.QueryString =
    "ASSOCIATORS OF {Win32_DiskPartition.DeviceID=\'" +
    strPartitionDeviceID + "\'} WHERE AssocClass = " +
    "Win32_LogicalDiskToPartition";

    mocLogicalDisks = mojWMISeacher.Get(); // ←ここで失敗している
    if (mocLogicalDisks.Count == 0) continue;
    foreach (ManagementObject mojLogicakDisk in mocLogicalDisks)
    {
    strLogicalDeviceID = mojLogicakDisk.GetPropertyValue("DevieID").ToString();
    strPNPDeviceID = mojDrive.GetPropertyValue("PNPDeviceID").ToString();

    // 確認用
    MessageBox.Show("Disk:" + strLogicalDeviceID + "---" + strPNPDeviceID);

    if (strLogicalDeviceID == strDriveLetter)
    {
    int iYen = strPNPDeviceID.LastIndexOf('\\');
    return strPNPDeviceID.Substring(iYen);
    }
    }
    }
    }
    }
    return string.Empty;
    }
    }
親記事 /過去ログ94より / 関連記事表示
削除チェック/

■57198  フォントの大きさに比例して大きくなるような表示の仕方
□投稿者/ 赤いガチャピン -(2011/02/17(Thu) 06:46:58)

    分類:[.NET 全般] 

    Win7でVB2010で作成しています

    ウインドウズの設定でフォントの大きさが100%から125%とかに変更されてもフォームの比率だけ変わって外観は変わらないようなことってできるのでしょうか?

    たとえば100%の時ではボタンコントロールの中の文字が全部表示できているのに125%になると最初の文字しか表示されなくなってしまいます。

    ボタンのAutosizeをtrueにしたらボタン自体がある範囲からはみだしてしまいます。

    フォーム全体を125%大きくしたいのです。

    よろしくお願いいたします。
親記事 /過去ログ96より / 関連記事表示
削除チェック/

■58032  Re[1]: MSFLEXGRIDのスコープ範囲
□投稿者/ 魔界の仮面弁士 -(2011/03/24(Thu) 09:56:21)
    No58025 (コアラ主任 さん) に返信
    > それとも、自分のプログラミングにより、そのようになっているの
    > でしょうか。
    だと思います。
    
    未初期化のフォームが自動ロードされてしまっているのでしょう。
    
    
    > 別のフォームから、そのMSFLEXGRIDのrows値を参照すると
    > フォーム側(?)プロパティで設定してある2と言う値で参照されます。
    Rows をセットする際に、フォームと MSFlexGrid の hWnd プロパティを
    Debug.Print してみてください。
    
    そして、Rows が 2 になってしまっている所でも、同様に
    それらの hWnd プロパティを参照してみてください。
    
    もしも「セットした時」と「参照した時」がそれぞれ同一のフォームだとすれば、
    hWnd 値は同じものになるはずです。それらが違う値になってしまうようであれば、
    別のフォームとコントロールを参照していることを意味します。
    
    
    > Public main_form As main_form
    変数名と型名が同じになっているのが、混乱の要因かと思われます。
     Public mainForm As Form2
    のように、別の名前に変更しておく事をおすすめします。
    
    また、フォームがアンロードされた時には、変数名に Nothing を代入する事を
    忘れないようにしてください。そうしないと、自動ロードの危険性が高まります。
    
    Dim f As Form3
    Set f = New Form3
    Load f
    Debug.Print ObjPtr(f), f.hWnd   '元のフォーム
    f.Caption = "New Caption"       'Captionを変更する
    f.Show vbModal
    Unload f                        'アンロードしてあるが、
    'Set f = Nothing                'Nothing はセットしていないし、
    'Set f = New Form3              '新たなインスタンスもセットしていない
    
    MsgBox f.Caption                'この時点で自動ロードされてしまう
    Debug.Print ObjPtr(f), f.hWnd   '別のフォームになっている
    
    
    上記の場合、ObjPtr(f) が一致する事からもわかるように、
    オブジェクトとしては同一のインスタンスですが、
    f.hWnd は別物であるため、自動ロードされた
    別のフォームになってしまう事がうかがえます。
    
    
    >     Set main_form = New main_form
    >     Load main_form
    New して使う事を前提にしている場合、暗黙のForm変数にアクセスできないようにするため、
    
    'Form2(呼ばれる側)
    Option Explicit
    Private Sub Form_Initialize()
     Set Form2 = Nothing   '暗黙の変数を消しておく
    End Sub
    
    のようにしておくと良いでしょう。こうすれば、
     Set f = New Form2
     Load f
     f.Show
    のようなコードは正常に実行できますが、
     Load Form2
     Form2.Show
    のようなコードが実行時エラーになるので、コードバグを検知しやすくなります。
記事No.58025 のレス /過去ログ97より / 関連記事表示
削除チェック/

■81825  Re[1]: 一つだけメール添付するとエクセルファイルが開けない
□投稿者/ 魔界の仮面弁士 -(2016/11/16(Wed) 16:37:03)
    No81822 (らんすけ さん) に返信
    > outlookでメールにエクセルを添付し送信したいのですが、

    Outlook で送信する場合の話ですか?
    Outlook で受信した場合の話ではなく?


    > 「"添付ファイル.xls"にアクセスできません。ファイルは読み取り専用であるか、または読み取り専用の場所にアクセスしようとしています。または、サーバー上に保存されているドキュメントから応答がありません。」
    > とメッセージが出てしまい、開くことが出来ません。

    Excel の [ファイル]-[オプション]-[セキュリティセンター]で、
    セキュリティセンターの設定画面を開き、
    [保護ビュー](または[保護されたビュー])のチェックボックスを
    解除してみるとどうでしょうか。
記事No.81822 のレス /過去ログ139より / 関連記事表示
削除チェック/

■92818  VisualStudio2017でReportViewer
□投稿者/ たかし -(2019/10/31(Thu) 18:27:55)

    分類:[.NET 全般] 

    お世話になっております。たかしと申します。

    VB.NETでレポートを作りたいと思い、
    https://qiita.com/vicugna-pacos/items/80e76059af2a29d5835f
    の記事に従ってReportViewerをインストールしました。
    新しいフォームを作ってツールボックスからReportViewerをドラッグしてみましたが、
    どうしてもフォームに配置することが出来ません。
    なおこのとき、コンポーネントトレイには「ReportViewer1」が出来ています。
    何度かドラッグしてみるのですが、そのたびに「ReportViewer2」「ReportViewer3」・・・が出来るだけです。
    どうやったら使えるのか、どなたか教えていただけないでしょうか?
親記事 /過去ログ160より / 関連記事表示
削除チェック/

■92822  Re[1]: VisualStudio2017でReportViewer
□投稿者/ WebSurfer -(2019/10/31(Thu) 21:55:32)
    No92818 (たかし さん) に返信

    Windows Forms か ASP.NET Web Forms のどちらですか?

    そういう情報は質問の一番最初に書いてほしいのですが・・・
記事No.92818 のレス /過去ログ160より / 関連記事表示
削除チェック/

■92832  Re[1]: VisualStudio2017でReportViewer
□投稿者/ 大谷刑部 -(2019/11/01(Fri) 14:38:10)
    No92818 (たかし さん) に返信
    > お世話になっております。たかしと申します。
    >
    > VB.NETでレポートを作りたいと思い、
    > https://qiita.com/vicugna-pacos/items/80e76059af2a29d5835f
    > の記事に従ってReportViewerをインストールしました。
    > 新しいフォームを作ってツールボックスからReportViewerをドラッグしてみましたが、
    > どうしてもフォームに配置することが出来ません。
    > なおこのとき、コンポーネントトレイには「ReportViewer1」が出来ています。
    正常な動きだと思いますが?何がダメだと思っているのですか?
    配置したReportViewerの名前がReportViewer1とつけられる他のコントロールと同様の昔からMSのデフォルト名称のつけ方にしか見えませんが。
記事No.92818 のレス /過去ログ160より / 関連記事表示
削除チェック/

■92838  Re[1]: VisualStudio2017でReportViewer
□投稿者/ 魔界の仮面弁士 -(2019/11/01(Fri) 15:27:51)
    No92818 (たかし さん) に返信
    > なおこのとき、コンポーネントトレイには「ReportViewer1」が出来ています。
    > 何度かドラッグしてみるのですが、そのたびに「ReportViewer2」「ReportViewer3」・・・が出来るだけです。

    デザイナによって、コントロールではなくコンポーネントとして扱われているのだとしたら、
    参照しているアセンブリが間違っているのだと思います。


    参照設定に Microsoft.ReportViewer.WinForms.dll が追加されていると思いますが、
    どのバージョンをお使いでしょうか? (8.0、9.0、10.0、11.0、12.0…)

    正しいバージョンを指定しないと、フォームに貼る事はできません。
    (InitializeComponent も無理矢理書き換えれば、フォームに配置できなくもないのですが、
     バージョン不整合のままだと、COM 参照 VBIDE の依存性エラーになるなどの問題が生じます)
記事No.92818 のレス /過去ログ160より / 関連記事表示
削除チェック/

■92843  Re[2]: VisualStudio2017でReportViewer
□投稿者/ WebSurfer -(2019/11/01(Fri) 18:28:56)
記事No.92818 のレス /過去ログ160より / 関連記事表示
削除チェック/

■92851  Re[3]: VisualStudio2017でReportViewer
□投稿者/ たかし -(2019/11/02(Sat) 18:27:35)
    No92843 (WebSurfer さん) に返信
    > Web Forms 用か Windows Forms 用か不明ですが、いずれにせよ最新版 v15 は NuGet で
    > インストールするのがよさそうです。
    >
    > ReportViewer コントロールを使用した Reporting Services の統合 - 概要
    > https://docs.microsoft.com/ja-jp/sql/reporting-services/application-integration/integrating-reporting-services-using-reportviewer-controls-get-started?view=sql-server-2017
    >
    > ただし、v15 の中でも最新版 150.1358.0 は .NET 4.6 以降でないと使えないので注意し
    > てください。

    みなさんありがとうございます。

    プロパティの詳細を見ると、
    MicrosoftReportViewer.Winforms.dll
    ファイルバージョン:15.0.1358.0
    となっておりますが、これではだめなのでしょうか?
    なおVisualStudioのバージョンは4.8.03752
    です。.NETのバージョンとはこれのことでよろしいのでしょうか?
記事No.92818 のレス /過去ログ160より / 関連記事表示
削除チェック/

■92852  Re[4]: VisualStudio2017でReportViewer
□投稿者/ WebSurfer -(2019/11/02(Sat) 20:34:23)
    No92851 (たかし さん) に返信

    なんで、

    > Windows Forms か ASP.NET Web Forms のどちらですか?

    と聞いたのに答えないのですか? それで話が通じると思いますか?
    私と話をしたくないということならそれでもかまいませんが、そうフィードバックして。
記事No.92818 のレス /過去ログ160より / 関連記事表示
削除チェック/

■92862  Re[4]: VisualStudio2017でReportViewer
□投稿者/ 魔界の仮面弁士 -(2019/11/03(Sun) 14:17:25)
    No92851 (たかし さん) に返信
    > プロパティの詳細を見ると、
    > MicrosoftReportViewer.Winforms.dll
    > ファイルバージョン:15.0.1358.0
    > となっておりますが、これではだめなのでしょうか?

    下記をお使いでしょうか?
    https://www.nuget.org/packages/Microsoft.ReportingServices.ReportViewerControl.Winforms/150.1358.0


    新規プロジェクトにおいて、下記の手順で利用可能となるかどうか試してみてください。

    (1) NuGet パッケージマネージャーで、"Microsoft.ReportingServices.ReportViewerControl.Winforms" を検索し、
     最新の v150.1358.0 ではなく、v150.900.148 というバージョンをを選択してインストールします。

    (2) この時点で、参照設定には下記が追加されます。
     Microsoft.ReportViewer.Common
     Microsoft.ReportViewer.DataVisualization
     Microsoft.ReportViewer.Design
     Microsoft.ReportViewer.ProcessingObjectModel
     Microsoft.ReportViewer.WinForms
     Microsoft.SqlServer.Types
     プロジェクトをビルドして、エラーが無い事を確認します。
     ※ v150.1358.0 とは依存関係が異なります。

    (3) 現在のソリューションのあるフォルダーを Windows エクスプローラーで開き、
     packages\Microsoft.ReportingServices.ReportViewerControl.Winforms.150.900.148\lib\net40\
     の階層が存在していることを確認しておきます。

    (4) ツールボックスを右クリックして[アイテムの選択]を指定し、参照ボタンから上記 3 のフォルダーを開いて
     "Microsoft.ReportViewer.WinForms.dll"
     を指定します。少し待つと、アイテム一覧に "ReportViewer" が現れるので、
     チェックされていることを確認してダイアログを閉じます。

    (5) ツールボックスの ReportViewer をフォームに貼れるかどうか確認してください。
記事No.92818 のレス /過去ログ160より / 関連記事表示
削除チェック/

■92861  Re[5]: VisualStudio2017でReportViewer
□投稿者/ たかし -(2019/11/03(Sun) 14:02:40)
    No92852 (WebSurfer さん) に返信
    > ■No92851 (たかし さん) に返信
    >
    > なんで、
    >
    >>Windows Forms か ASP.NET Web Forms のどちらですか?
    >
    > と聞いたのに答えないのですか? それで話が通じると思いますか?
    > 私と話をしたくないということならそれでもかまいませんが、そうフィードバックして。

    経過を報告いたします。昨日からやってみたことです。

    Microsoft.ReportViewer.WinForms.dllの最新バージョンらしきもの(15.0.900.148)を
    以下のサイトからダウンロードしてDebugフォルダに上書きコピーしてみました。
    https://www.dllme.com/dll/files/microsoft_reportviewer_winforms_dll.html

    すると、やっと思い通りにReportViewerコントロールをフォーム上に作ることが出来ました。
    これでうまくいくだろうと思い、念の為もう一度再現してみることにしたのが失敗でした。
    せっかく出来たコントロールを削除して、同じように何度かドラッグしてみました。
    ところが、それ以降は最初と同じ現象が起きるようになっただけでした。
    コンポーネントトレイに「ReportViewer1」「ReportViewer2」「ReportViewer3」・・・が出来るだけ。
    肝心のコントロールが貼り付けられず全く埒が明きません。
    何がどう違うのかお分かりになる方はいますでしょうか?

    WebSurferさま。もちろんWinFormですよ。
    先にMicrosoftReportViewer.Winforms.dllと書いてあるはずです。
記事No.92818 のレス /過去ログ160より / 関連記事表示
削除チェック/

■92864  Re[6]: VisualStudio2017でReportViewer
□投稿者/ 魔界の仮面弁士 -(2019/11/03(Sun) 14:59:32)
    No92861 (たかし さん) に返信
    > WebSurferさま。もちろんWinFormですよ。
    > 先にMicrosoftReportViewer.Winforms.dllと書いてあるはずです。

    参考にされていた Qiita の記事は、VB.NET + WinForm なプロジェクトでしたし、
    DLL の名前からも、「WinForm である可能性が高い」であろうという「予測」は立てられそうですね。


    自分の場合、前提条件がハッキリしないのなら、「いずれかのパターンと仮定して回答する」か
    「それぞれの可能性を考慮して、冗長的ではあるが各パターンごとに回答する」ようにしていますが、
    今回の一連の質問だと、ASP.NET WebForms で WinForms ライブラリが参照されている可能性や、
    Visual Studio のバージョン不整合の可能性も排除できないと思います。
    (VS のバージョンは未だ不明なままですね)


    ところで下記の、"Install ReportViewer Visual Studio 2019" というロシア語の動画では、
    WinForms (C#) のプロジェクトであるにも関わらず、ReportViewerControl のパッケージとして、
    WinForms ではなく、あえて WebForms の方を NuGet していたりします。
    http://j.mp/RepViewVS2019


    実際手元の環境で
    https://www.nuget.org/packages/Microsoft.ReportingServices.ReportViewerControl.Winforms/150.1358.0
    https://www.nuget.org/packages/Microsoft.ReportingServices.ReportViewerControl.Webforms/150.1358.0
    を比べた場合、両方の packages フォルダ配下に配置される DLL 群を比較すると、
    「Winforms」の方は、WebForms は存在せず、WinForms のライブラリだけが含まれているのに対し、
    「Webforms」の方は、WebForms だけでなく、WinForms のライブラリも含んでいました。なんでだー。
記事No.92818 のレス /過去ログ160より / 関連記事表示
削除チェック/

■92863  Re[6]: VisualStudio2017でReportViewer
□投稿者/ WebSurfer -(2019/11/03(Sun) 14:23:49)
    No92861 (たかし さん) に返信

    > WebSurferさま。もちろんWinFormですよ。
    > 先にMicrosoftReportViewer.Winforms.dllと書いてあるはずです。

    そういうのは、私が

    >Windows Forms か ASP.NET Web Forms のどちらですか?

    と聞いたことへの直接の回答になってません。

    何故ストレートに答えられないのか分かりませんが、そういう対応をされては話が通じ
    そうもないので自分は撤退します。他の人の回答をお待ちください。
記事No.92818 のレス /過去ログ160より / 関連記事表示
削除チェック/

■92865  Re[6]: VisualStudio2017でReportViewer
□投稿者/ 魔界の仮面弁士 -(2019/11/03(Sun) 15:38:02)
    No92861 (たかし さん) に返信
    > Microsoft.ReportViewer.WinForms.dllの最新バージョンらしきもの(15.0.900.148)を
    > 以下のサイトからダウンロードしてDebugフォルダに上書きコピーしてみました。

    15.0.1358.0 の方が後のバージョンなのですが、依存関係の問題があるため、
    15.0.900.148 をそのまま使い続けてください。

    No92864 で紹介したロシア語動画のコメント欄でも、同様のトラブル報告(と解決策)が投稿されています。
記事No.92818 のレス /過去ログ160より / 関連記事表示
削除チェック/

次の20件>

<< 0 | 1 >>

パスワード/

- Child Tree -