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

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

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

全過去ログを検索

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >>
■3186  Re[4]: クリスタルレポートの文字化け
□投稿者/ ROY -(2006/04/20(Thu) 19:44:08)

    分類:[C#] 

    中博俊様
    ありがとうございます。

    直接印刷するのではなく、一旦ビットマップに変換するんですね。
    -------------------------------------------------------------------------
    System.Drawingあたりのクラスを調べてください。
    Graphics.DrawStringとかで文字描画できますので、それでビットマップに変換してから、貼り付けてあげてください。

    #茨の道ですよ・・・
    -------------------------------------------------------------------------

    サンプルプログラムを作ったので、あした問題の起きたお客様のところで
    テストしてみます!

    ありがとうございます。

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

■3152  Re[2]: クリスタルレポートの文字化け
□投稿者/ ROY -(2006/04/19(Wed) 05:59:03)

    分類:[C#] 

    中博俊様
    ありがとうございます。

    -------------------------------------------------------------------------
    プリンタがフォントを置き換えていて、そのプリンタがフォントの文字を全部搭
    載していないんだからどうしょうもない。
    いちどビットマップに変換して出してあげればいいでしょう。

    #ただし遅い、汚いろくなことにはなりませんが。
    -------------------------------------------------------------------------

    クリスタルレポートをビットマップへ変換するということでしょうか?
    インターネットで探したのですが、方法を見つけることが出来ませんでした。
    例題などがあれば教えていただけませんでしょうか?

    よろしくお願いします。




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

■3051  互換性につきまして
□投稿者/ てこな -(2006/04/07(Fri) 22:03:33)

    分類:[VC++] 


    分類:[VC++] 

    こんばんは、てこなです。

    初歩的な質問なのかもしれませんが、
    宜しければアドバイスなど頂ければ幸いかと存じます。
    また、管理人さま
    前回この掲示板で質問しみなさまにいろいろアドバイスをいただくことができ、
    とてもうれしく思いつつも自分の未熟さを痛感いたしました。
    業務とは別にプログラミングをやっているので、
    業務の都合=てこなの勝手な都合で
    前回のように返信間隔が開いてしまうかもしれません。

    故、このBBS参加者として不適切とご判断された場合、
    まことにお手数かとは思いますが、削除等お願い致します。


    <環境>
    OS :WindowsXP SP1
    Soft:Visual C++ 6.0 (今回はそれ以前の問題のような・・・・ごめんなさい)

    <前提>
    入力ファイルを読み込んで必要項目を表示するのですが、
    入力ファイルは以下のようになっています。
    1ファイル50人います。
    1人につき普通は1レコードなのですが、2レコード持っている人がいます。
    人それぞれでキーが異なっているんですが、
    2レコード持っている場合、1レコード目と2レコード目のキーは同じです。
    同じ人の場合は同じキーで、違う人の場合は異なったキー。

    そこで、以下のような方法を考えてみました。
    @ファイルから1回読む→ここには複数レコード持っている人でも必ず
                1レコード目がきます。⇒oya1_dat
    Aファイルから次を読む→退避エリアに退避しておきます。⇒oya3_dat
    B退避エリアのキーと@で読んだレコードのキーが一致していれば、
     退避エリアのデータを2レコード目のデータとして扱います
     ⇒ oya3_datをoya2_datへ格納

    <お伺いしたいところ>
    下記ソース(略)の★印の部分で、
    退避エリアから2レコード目の構造体?に格納しているところで、
    次のようなエラーを取り除くことが出来ませんでした。

    <エラー>
    'function' : 互換性のない型が含まれています。
    'strncpy' : の型が 1 の仮引数および実引数と異なります。

    エラー部分の「C〜」を選択してF1でヘルプを参照してみたのですが、
    「型」が違う・・・同じ「unsigned char」でレコード長も同じなのですが、
    着眼点が違うみたいで・・・・根本的にスキルが足りてないのに
    C言語触っている時点で問題外なのかも・・・しれないです。

    <同様の事象が出るソース(一部)>
    <oyako.h>
    typedef struct
    {
    /* おや1(11) */
    unsigned char b[2];
    unsigned char a[4];
    unsigned char c;
    unsigned char crc[2];
    unsigned char crlf[2];

    } _OYA1;

    typedef struct
    {
    /* おや2(11) */
    unsigned char w;
    unsigned char q[4];
    unsigned char e[2];
    unsigned char crc[2];
    unsigned char crlf[2];

    } _OYA2;

    <main.c>
    /*---------------------*/
    _OYA1 oya1_dat;/* 1レコード目 */
    _OYA2 oya2_dat;/* 2レコード目 */
    _OYA1 oya3_dat;/* 退避エリア */

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #include "oyako.h"

    途中省略

    read_oya = fread( &oya1_dat, (sizeof(oya1_dat)-1), 1, fpoya);
    read_oya = fread( &oya3_dat, (sizeof(oya3_dat)-1), 1, fpoya);

    if( strncmp( oya1_dat.a, oya3_dat.q, 4 ) == 0 ) {
    strncpy( oya2_dat, oya3_dat, (sizeof(oya3_dat)-1) ); ★
    memset ( &oya3_dat, 0x20, (sizeof(oya3_dat)-1) );
    }else{
    oya3_set_fg = '1';
    /* 退避(oya3)→oya1へコピー or freadする */
    }

    途中省略

    <根本>
    てこなが、本質を理解しきれていないことが大きな原因かもしれません。
    他の質問内容とは比べ物にならないくらい初歩的なことかもしれません。
    今のてこなにとってはおおきな壁ですが・・・

    もし宜しければ、アドバイスを頂ければ幸いかと思います。
    但し、上級者向けの掲示板にこのような質問を記してしまって、
    気分を害されていないか、とても心配です。
    その時は謹んでお詫び申し上げると共に、
    2度と気分を害されないようにしたいと思います。

    長くなってしまいまことに申し訳ございません。
    特に急いでいるわけでもないので、
    お手すきの際にでも一言でもかまいませんので
    ご指導していただけるとうれしいです。

    以上


親記事 /0過去ログ3より / 関連記事表示
削除チェック/

■2885  ActiveReportで画像表示
□投稿者/ TAA -(2006/03/22(Wed) 02:02:11)

    分類:[VB.NET] 


    分類:[VB.NET] 

    VB.NETでActiveReports2.0で帳票を作成するのですが
    画像の表示方法についてご教授ください。

    作成しようとする帳票の内容を簡単に説明すると以下の通りです。
    データを一覧表示し、そのとなりに画像を表示します。
    データはDBから抽出したデータをただ一覧表示するだけです。

    データ| 画像
    ----------------------------------
     aaa | [aaa.BMP](←aaaの画像)
     bbb | [bbb.BMP](←bbbの画像)
     ccc | [ccc.BMP](←cccの画像)
     ・ |  ・
     ・ |  ・

    MDBファイル内の画像であれば簡単に表示できるようですが、
    画像はユーザーからBMPファイルで渡されるだけなのです。
    BMPファイル名は一意なのでデータとの関連付けは容易なのですが
    どのように表示したらいいのか分かりません。
    よろしくお願いします。


親記事 /0過去ログ3より / 関連記事表示
削除チェック/

■2835  Re[3]: ラベルの折り返し設定?
□投稿者/ まどか -(2006/03/14(Tue) 19:13:09)

    分類:[C#] 

    > 1つのラベルに3行表示させたいのですが
    > ↓「い・・・い」が長いと折り返されてしまう。
    > -------------------
    > ああああ
    > いいいいいいいいい
    > いい
    > うううう
    > -------------------

    改行付きですか。。。
    改行無しならAutoSizeをFalseにして、高さを表示したい行数+1未満にすれば
    外へ(見えない部分)にはみだしてくれるはずですが。
    それでだめならラベルを行ごとに用意することになるでしょう。
    #って、全角半角混ざってると単語で自動改行のような。。。
記事No.2797 のレス /0過去ログ3より / 関連記事表示
削除チェック/

■2834  Re[2]: ラベルの折り返し設定?
□投稿者/ nish -(2006/03/14(Tue) 18:58:50)

    分類:[C#] 

    補足です。

    1つのラベルに3行表示させたいのですが
    -------------------
    ああああ
    いいいいいいいいいいい
    うううう
    -------------------
    ↓「い・・・い」が長いと折り返されてしまう。
    -------------------
    ああああ
    いいいいいいいいい
    いい
    うううう
    -------------------

    > うーん、プロパティウィンドウ見てるだけでも当たりがつかないですか?
    > Aで始まるとだけ。。。
    わかりません(^^;


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

■2680  Re[7]: タスクバーを隠すフォームの出し方
□投稿者/ GOD -(2006/02/28(Tue) 14:37:15)

    分類:[VB6以前] 

    >API すみません レベルが低いのでよくわかりません
    >どのようにして使い、どんな定数値を入れればいいのでしょうか?
    >
    ↑というのならAPIは使用しないほうが良いと思います。
    一応宣言などは書いておきますが、理解できないものを使用するほど怖いことはないで
    すからね。後に保守しなければいけないこともあるでしょうし。

    '以下の宣言を標準モジュールで行えばOK。
    '----- ここから

    Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
    Public Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long

    'SetWindowPosで使用する定数
    Public Const HWND_TOP = 0
    Public Const SWP_SHOWWINDOW = &H40
    Public Const HWND_TOPMOST = -1

    'GetDeviceCapsで使用する定数
    Public Const HORZRES = 8 ' Horizontal width in pixels
    Public Const VERTRES = 10 ' Vertical width in pixels

    '----- ここまで

    > フォームのサイズをスクリーンと同じ大きさにすれば
    >
    これだけなら
    Me.Left = 0
    Me.Top = 0
    Me.Width = Screen.Width
    Me.Height = Screen.Height
    でできます。TopMostはAPIじゃなければできませんが。
    BorderStyle はデザイン時でなければいけないのかも(未確認。)
記事No.2662 のレス /0過去ログ3より / 関連記事表示
削除チェック/

■4691  XmlSerializerについて
□投稿者/ まいるど -(2006/07/03(Mon) 20:22:26)

    分類:[C#] 


    分類:[C#] 

    こんばんは、質問させてください。

    自分で作ったクラスをXMLSerializerをつかって読み込みまたは保存しようとすると、

    'System.IO.FileNotFoundException' の初回例外が mscorlib.dll で発生しました。
    'System.IO.FileNotFoundException' の初回例外が mscorlib.dll で発生しました。シンボルは読み込まれませんでした。

    と表示されます。
    コードは以下のとおりです。

    自分が望むように、XMLファイルに保存も呼び出しもできています。
    しかし上記の例外が発生し、
    また[デバック][例外]を全てチェックを入れると、
    XmlSerializer xm = new XmlSerializer(typeof(myC));
    のところで例外が発生します。がcatchにいきません。

    このエラーの回避のしかた。
    または無視してよいのかご教授よろしくお願いいたします。

    //------------------------------------------------------------------------
    public partial class myC
    {
    public double A ;
    public string B ;
    public myC(){}
    }
    [Serializable]
    //------------------------------------------------------------------------
    public partial class myC_X
    {
    public void SaveXML(string fn ,myC st )
    {
    using (FileStream fs = new FileStream(fn, FileMode.Create))
    {
    XmlSerializer xm = new XmlSerializer(typeof(myC));
    try
    {
    xm.Serialize(fs, st);
    }
    catch (Exception){}
    finally
    {
    fs.Close();
    fs.Dispose();
    }
    }
    }
    public void LoadXML(string fn ,myC st )
    {
    略 //Deserialize(fs);をつかっている
    }
    }
    //------------------------------------------------------------------------

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

■4691  XmlSerializerについて
□投稿者/ まいるど -(2006/07/03(Mon) 20:22:26)

    分類:[C#] 


    分類:[C#] 

    こんばんは、質問させてください。

    自分で作ったクラスをXMLSerializerをつかって読み込みまたは保存しようとすると、

    'System.IO.FileNotFoundException' の初回例外が mscorlib.dll で発生しました。
    'System.IO.FileNotFoundException' の初回例外が mscorlib.dll で発生しました。シンボルは読み込まれませんでした。

    と表示されます。
    コードは以下のとおりです。

    自分が望むように、XMLファイルに保存も呼び出しもできています。
    しかし上記の例外が発生し、
    また[デバック][例外]を全てチェックを入れると、
    XmlSerializer xm = new XmlSerializer(typeof(myC));
    のところで例外が発生します。がcatchにいきません。

    このエラーの回避のしかた。
    または無視してよいのかご教授よろしくお願いいたします。

    //------------------------------------------------------------------------
    public partial class myC
    {
    public double A ;
    public string B ;
    public myC(){}
    }
    [Serializable]
    //------------------------------------------------------------------------
    public partial class myC_X
    {
    public void SaveXML(string fn ,myC st )
    {
    using (FileStream fs = new FileStream(fn, FileMode.Create))
    {
    XmlSerializer xm = new XmlSerializer(typeof(myC));
    try
    {
    xm.Serialize(fs, st);
    }
    catch (Exception){}
    finally
    {
    fs.Close();
    fs.Dispose();
    }
    }
    }
    public void LoadXML(string fn ,myC st )
    {
    略 //Deserialize(fs);をつかっている
    }
    }
    //------------------------------------------------------------------------

親記事 /0過去ログ4より / 関連記事表示
削除チェック/

■4437  クリスタルレポートのページ区切り情報取得方法
□投稿者/ t16 -(2006/06/21(Wed) 11:26:41)

    分類:[VB.NET] 


    分類:[VB.NET] 

    初めて投稿します、t16です。

    WindowsXPSP2
    VS2003(VB)
    Crystal Reports for Visual Studio .NET AAP5G-JS00000-U7000B4

    クリスタルレポートで、詳細セクションに配置した項目のデータ数が、1ペー
    ジ出力できる個数以上になると、改ページされます。このとき、各ページの先
    頭のデータ、または最終のデータを取得するにはどのようにしたらよいでしょ
    うか?


    <rptファイルイメージ>

    -------------------+---------+
    (ページヘッダー) | メ モ | ←ラベル
    ------------------+----------+
    (詳細)      | メ モ | ←DBフィールド (複数行に出力)
    ------------------+----------+


    上記のような場合です。
    DB「メモ」フィールドは改行されてたりするので、「複数行に出力」にチェッ
    クを入れてあります。そのため、1ページ当りの出力行数は固定できません。

    OnFirstRecordでは、各ページの先頭行は取得できません。
    一つ前(又は後)のレコードのPageNumberと、現在の行のPageNumberを比較で
    きればと思うのですが、やり方がわかりません。

    どなたかわかる方がいらっしゃいましたら、教えて下さい。
    よろしくお願いします。

親記事 /0過去ログ4より / 関連記事表示
削除チェック/

■4334  Re[2]: VB.NET2005 デバッグの実行ディレクトリについて
□投稿者/ とろーち -(2006/06/15(Thu) 20:02:44)

    分類:[VB.NET] 

    ゆうじさん

    ご回答ありがとうございます。

    --引用--

    画面右上の「ソリューションエクスプローラ」→「My Project」→「コンパイル」→「ビルド出力パス」で変更できませんか?

    --------

    ですが、こちらのビルドパスはリビルドやビルドで実際のEXEやdllが作成されるディレクトリの設定場所ですよね?
    私もこちらと同じ場所でデバッグを行いたいのですが、これがデバッグ中のパスは
    違う場所で、プロジェクトファイルのある場所からみて .\bin\debug で実行されてしまうのです。

    ちなみに
    上記場所のビルド出力パスは [..\..\..\bin\] としていまして、3階層上のbinフォルダの中でビルド及びデバッグ実行して貰いたいのですが、それがうまくいかなくて困っています。
    ビルドで作成される場所は [..\..\..\bin\] に問題なくEXEもdllも作成される状況です。
    2003には明確にデバッグ時のビルド場所、Release時のデバッグ場所みたいに分けられたと思うのですが・・・

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

■4333  Re[3]: ボタンの周りの線を消せない
□投稿者/ じゃんぬ @ 管理人 -(2006/06/15(Thu) 19:37:15)
>

    分類:[VB.NET] 

    No4331に返信(ゆうじさんの記事)
    > Buttonクラスを継承し、ChangeUICuesイベントを
    > オーバーライドするというところまではわかったのですが、(勘違い??)

    えーっと、触ろうとしているもの自体が違います。
    ShowFocusCues プロパティをオーバーライドします。

    # リンク先でもそういう流れだったハズです。

    | 引用:------------------------------------------------------
    |
    |   ATSUSHIさんの書き込み (2005-11-16 01:25) より:
    |
    |   ShowFocusCuesプロパティは取得しかできないようですし
    |
    | -----------------------------------------------------------
    |
    | 取得できれば十分だと思いますよ。
    | 常に false を返すようにオーバーライドすれば良いでしょう。

    > 「 常にfalseを返すようにオーバーライド」というのがわかりません。

    プロパティの Getter で常に false を返すだけです。
記事No.4298 のレス /0過去ログ4より / 関連記事表示
削除チェック/

■4064  テーブルを3次元で表示するには?
□投稿者/ asp.net初心者 -(2006/05/30(Tue) 15:18:03)

    分類:[C#] 


    分類:[C#] 

    はじめまして。
    asp.net/VB.netを始めて1ヶ月くらいのものです。

    初歩的な質問かと思いますが、どうぞよろしくお願いします。

    asp.net/VB.netでプログラムしています。

    次のようなDataTable(dt1)があったとして、

    (dt1)
    日付 | 種類 | 内容1| 内容2
    ----------------------
    1/1 | A | 1 | 1’
    1/2 | B | 2 | 2’
    1/2 | A | 3 | 3’
    1/3 | C | 4 | 4’
    1/4 | A | 5 | 5’
    1/4 | C | 6 | 6’


    日付と種類で分類して、内容を一覧表示させたいと考えています。

    | A | B | C |
    1/1 | 1 1’| | |
    1/2 | 3 3' | 2 2' | |
    1/3 | | | 4 4’|
    1/4 | 5 5’| | 6 6’|

    横軸と縦軸は決まった数のため、動的に変動させる必要はありません。
    ただし、各セルの該当レコード数は、可変です。

    実現の方法として、
    横軸が「種類」、縦軸が「日付」のテーブルを作成し、
    各セルにDataGridを配置し、dt1のDataViewで必要な行を表示する、
    といったことしか思いつきませんでした。

    この場合、実際は、縦が7横が8あるため、56個のDataGridが必要になります。
    DataGridを56個も置くというのは、非現実的でしょうか?
    あるいは、何らかの問題があるのでしょうか?

    それとも、普通ではない方法をしようとしていますでしょうか?
    どなたか、ご教示お願いいたします。

親記事 /0過去ログ4より / 関連記事表示
削除チェック/

■4038  C#クラス:メソッドについて
□投稿者/ まいるど -(2006/05/29(Mon) 22:22:17)

    分類:[C#] 


    分類:[C#] 

    はじめまして。
    Visual Studio 2005 ,C#を今日はじめました。
    他社のC++は5,6年やっておりました。

    ひとつ質問させてください。
    C#では、クラスのメソッドを下記のC++のようにclass定義の外でやる方法はあるのでしょうか?
    //-----------------------
    class A
    {
    private void meso () ;
    } ;
    //-----------------------
    void A::meso()
    {
    //なんかコード
    }
    //-----------------------

親記事 /0過去ログ4より / 関連記事表示
削除チェック/

■3675  xmlDataDocumentとDataSetの同期について
□投稿者/ bou -(2006/05/18(Thu) 14:13:20)

    分類:[VB.NET] 


    分類:[VB.NET] 

    はじめまして。

    フォームの入力項目からDataSetを作成する際、構造が入れ子になっている為、
    xmlDataDocumentを使用し、
    Dim ds as DataSet = new DataSet("COMMON")
    Dim xmlDoc as xmlDataDocument = new xmlDataDocument(ds)
    として、XMLファイルを作成する事に関してはうまくいきました。
    XMLファイルは、おおざっぱですが、以下のような感じです。
    -------------------------------------------------
    <?xml version="1.0" encoding="UTF-8"?>
    <COMMON>
     <CD>000000001</CD>
     <NAME>○○○○</NAME>
     <FAMILY no="01">
      <Name>太郎</Name>
      <Kana>タロウ</Kana>
      <Sex>男</Sex>
      <BirthDay>20060518</BirthDay>
     </FAMILY>
     <FAMILY no="02">
      <Name>花子</Name>
      <Kana>ハナコ</Kana>
      <Sex>女</Sex>
      <BirthDay>20050518</BirthDay>
     </FAMILY>
    </COMMON>
    -------------------------------------------------

    また、そのXMLファイルからReadXMLを使用して、DataSetに格納することもうまくいきました。

    しかし、本当の目的は、
    DataSetをXMLファイルに出力する事ではなく、
    .NETリモーティングを使用し、DataSet型のデータとしてそのままパラメータとして渡すことにあります。

    DataSet型の変数dsと、xmlDataDocument型の変数xmlDocは同期が取れていると思ったのですが、dsに対して、
    Dim dt as DataTable = new ds.Tables("COMMON")
    とやっても、dtはNothingとなってしまい、
    DataSetが取得できずにいます。

    どのようにすれば、DataSet型の変数として上記の内容を取得することが出来るのでしょうか。
    xmlDoc.DataSetを使用して取得することとか出来ませんでしょうか?
    xmlDoc.DataSet.DataSetNameだと、"COMMON"は取得できたのですが・・・

    どうかご教授いただけませんでしょうか。
    よろしくお願いいたします。
親記事 /0過去ログ4より / 関連記事表示
削除チェック/

■3914  Re[5]: デシリアライズの方法について
□投稿者/ あらら -(2006/05/25(Thu) 15:53:57)

    分類:[C#] 

    返信ありがとうございます。

    教えて頂いたように下記のように記述すれば警告はでなくなりました。
    -------------
    BinaryFormatter formatter = new BinaryFormatter();
    StructTEST sTest;
    sTest.str1 = "";
    sTest.str2 = "";
    sTets = (StructTEST)formatter.Deserialize(netStream);
    -------------

    ですが、上記の5行目で例外が発生します。(受信時にループでまわしているので、数回例外が発生します。)
    <発生した例外>
    「アセンブリ'Sample_Client,Version=1.0.0.0, Culture=neutral, PublicKeyToken = null"が見つかりません。」
    「入力ストリームは有効なバイナリ形式ではありません開始コンテンツ(バイト)06-03・・・・・・mscorlib」
    「バイナリストリーム'0'に、有効なBinaryHeaderが含まれていません。シリアル化と逆シリアル化の途中で、無効なストリームまたはオブジェクトのバージョン変更が発生した可能性があります。」

    たびたびで申し訳ないのですが、さらに質問させてください。
    ・シリアライズしたバージョン?とデシリアライズするときのバージョン?を同じにするにはどうしたらよいのでしょうか?


    >この StructTEST、「同じもの=同じ DLL で定義されたもの」じゃないですね? どこか別々のところで定義していますね?
    同じPCで作成したものなので、DLLも同じだと思っておりました。。。StructTEST自体は別々のプロジェクトで宣言しています。

    アドバイス等いただければ幸いです。
記事No.3885 のレス /0過去ログ4より / 関連記事表示
削除チェック/

■3885  デシリアライズの方法について
□投稿者/ あらら -(2006/05/25(Thu) 09:23:14)

    分類:[C#] 


    分類:[C#] 

    いつもお世話になっております。

    TCP/IP通信で、Client側で、BinaryFormatterを使用しシリアライズした構造体のデータを
    Server側で受信したいと思っております。
    下記のように記述した場合
    「フィールド'Sample_Server.Form1.StructTEST.str1'は割り当てられません。常に既定値
    nullを使用します。」
    の警告がコンパイル時に表示されるのですが、どのように記述すれば、値を割り当てること
    ができるのでしょうか?
    (先日、送信でこちらの掲示板で質問させていただいたのですが、今度は受信側です。。。)

    ご教授を頂ければ幸いです。

    --------------------
    /* Server側のプロジェクト */
    // データ受信箇所抜粋
    private Socket mySock;
    private NetworkStream netStream;

    netStream = new NetworkStream(mySock);
    BinaryFormatter formatter = new BinaryFormatter();
    StructTEST sTest = new StructTEST();
    sTest = (StructTEST)formatter.Deserialize(netStream);

    // 構造体
    [Serializable]
    struct StructTEST
    {
    public string str1;
    public string str2;
    }

    --------------------
    また、Clietn側は問題なく動いているように見えますが、下記のようにしてデータを渡しています。
    /* Client側のプロジェクト */
    // データ送信箇所抜粋
    private NetworkStream netStream

    StructTEST sTest = new StructTEST();
    sTest.str1 = "123";
    sTest.str2 = "456";
    BinaryFormatter formatter = new BinaryFormatter()
    formatter.Serialize(netStream, sTest);

    // 構造体
    [Serializable]
    struct StructTEST
    {
    public string str1;
    public string str2;
    }

親記事 /0過去ログ4より / 関連記事表示
削除チェック/

■3841  BinaryFormatterの使い方について
□投稿者/ あらら -(2006/05/24(Wed) 10:46:52)

    分類:[C#] 


    分類:[C#] 

    お世話になっております。

    BinaryFormatterの使用方法がいまいちわからないので、投稿させて頂きました。

    TCP/IPで通信をしており、構造体をBinaryFormatterでシリアライズしようとして
    いるのですが、コンパイルエラーが発生してしまいます。。
    (エラー内容から"AssembleyInfo.cs"を見てみたのですが、どこをどのように変更
    すればよいのかもわからないです。。。)

    アドバイス等頂ければ幸いです。

    下記のように記述しています。
    (.NET2005、WindowsXP)
    ----------------
    private TcpClient tcpC = new TcpClient();
    private NetworkStream netStream;
    private string IP = "";
    private Int32 port;

    // 接続ボタン
    private void btn_connect_Click(object sender, EventArgs e)
    {
    port = Int32.Parse(tbox_port.Text.Trim());
    IP = tbox_ip.Text.Trim();

    tcpC.Connect(IP, port);
    netStream = tcpC.GetStream();
    }

    // 構造体
    struct StructTEST
    {
    public string str1;
    public string str2;
    }

    // BinaryFomatterで送信テスト
    private void button1_Click(object sender, EventArgs e)
    {
    StructTEST sTest = new StructTEST();
    sTest.str1 = "123";
    sTest.str2 = "456";

    BinaryFormatter formatter = new BinaryFormatter();
    formatter.Serialize(netStream, sTest);
    /*
    ↑で、アセンブリ'Sample_Client, Version=1.0.0.0, Culture=neutral,
     publicKey Token=null'の型'Sample_Client.Form1+StructTEST'はシリアル
      化可能として設定されていません。
    */
    }

親記事 /0過去ログ4より / 関連記事表示
削除チェック/

■6048  Re[3]: (VB2005)配列のインデックス指定方法
□投稿者/ 魔界の仮面弁士 -(2006/08/26(Sat) 20:09:51)

    分類:[VB.NET] 

    コンパイルしたアプリ、あるいは *.vshost.exe の方は、
    リリース/デバッグで何か大きな違いはありそうですか?


    > 再現した僕の環境は:
    プロダクトID が異なるとはいえ、環境自体は同じですね。
    が、やはり当方では再現しませんでした。

    強いてあげるならば、当方では KB912019 の hoffix を適用しているのですが、
    もしかして、これが関係してくるのかな?
    (hotfix を適用していない環境が手元に無いので、比較はできませんが…)

    ----------------
    Microsoft Visual Studio 2005
    Version 8.0.50727.42 (RTM.050727-4200)
    Microsoft .NET Framework
    Version 2.0.50727
    インストールされている Edition: Enterprise
    (中略)
    Microsoft Visual Studio 2005 Tools for the Microsoft Office System 日本語 用の Hotfix (KB912019)
    この Hotfix は Microsoft Visual Studio 2005 Tools for the Microsoft Office System 日本語 用です。\n
    後で最新版の Service Pack をインストールした場合、この Hotfix は自動的にアンインストールされます。\n
    詳細については、http://support.microsoft.com/kb/912019 を参照してください。
    ----------------

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

■6037  (VB2005)配列のインデックス指定方法
□投稿者/ りばぁ -(2006/08/26(Sat) 16:33:39)

    分類:[VB.NET] 


    分類:[VB.NET] 

    初めて書き込みます。宜しくお願いします。
    VB2005で、下記のサンプルコードを、リリース版とデバッグ版でそれぞれビルドして下さい。

    -----ここからコード
    Dim strDat(10) As String
    Dim i As Integer

    For i = 0 To 9
    strDat(i) = CStr(i)
    Next


    For i = 0 To 3
    MsgBox(strDat((i * 2) + 2)) '(1)
    MsgBox(strDat((i * 2) + 2)) '(2)
    Next
    -----ここまで

    実行してみると、デバッグ版は正常なのですが、リリース版では、
    (1)と(2)の行で、本来は同じ値がメッセージボックスに表示されると思うのですが、そうなりません。
    回避策として、

    Dim iIndex As Integer
    :
    :
    For i = 0 To 3
    iIndex = (i * 2) + 2
    MsgBox(strDat(iIndex)) '(1)
    MsgBox(strDat(iIndex)) '(2)
    Next

    のようにすると正常に動きます。
    バグなのか仕様なのか分からないので、ご意見を伺いたいです。

    ちなみにこのコードをVB.NET2003で実行した場合は、リリース版もデバッグ版も正常に動作しました。

    OSはWindowsXP SP2です。

親記事 /0過去ログ5より / 関連記事表示
削除チェック/

<前の20件 | 次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >>

ヒット件数が多いので過去ログ1〜18 までの検索結果 / 過去ログ19からさらに検索→

パスワード/

- Child Tree -