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

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

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

全過去ログを検索

<< 0 >>
■6645  Re[4]: エンコードのエラー
□投稿者/ chite -(2006/09/20(Wed) 18:35:40)

    分類:[C#] 

    No6636に返信(επιστημηさんの記事)

    > using ちゅーのは、
    >
    > using ほげほげ.ぱよぱよ; しておけば
    >
    > ほげほげ.ぱよぱよ.ぺもぺも を ぺもぺも と略記できるよ。ってだけのこと。
    >
    ありがとうございます。初歩的な質問しかできなくてすいません。
    できるだけ自力で頑張りますので、今後ともよろしくお願いします。
記事No.6604 のレス / END /過去ログ6より / 関連記事表示
削除チェック/

■6720  Re[4]: 画面のモーダル表示
□投稿者/ まどか -(2007/08/22(Wed) 18:02:36)
    通常、

    Private Sub Button1_Click(...)
    Dim newForm As New Form1
    newForm.ShowDialog()
    newDialog.Dispose()
    End Sub

    という閉じられたスコープの場合、おっしゃる現象はよほど変なことをしない限り発生しません。

    ということは、フォームインスタンスの使い回しがおかしくなっているのかな?と想像できます。
    該当のインスタンス変数に対して、どこで生まれどこで死んでいるかを確認してください。
    そこでやってることの矛盾が見つかるかもです。
記事No.6713 のレス /過去ログ17より / 関連記事表示
削除チェック/

■15705  Re[12]: 設定ごとにビルド内容を分けたい VS2005
□投稿者/ はつね -(2008/03/19(Wed) 07:02:10)
    No15704 (もんきっき さん) に返信
    > 現在普通に依存関係を更新すると現在Excel.Exeが自動的に生成されています

    その状態は「普通」の状態ではありません。

    よって、msiをビルドするときの問題ではなく、アプリからExcelを使う方法に問題があると考えます。
    例えば、依存関係への追加は実は手動でやっていて、ExcelとCOM連携しているのではなくExcel.exeを直接起動していてExcel.exeのある場所が決め打ちになっているなどが想定されます。

    あまりにも普通ではない状況なので、アプリからのExcelの使い方(参照設定の内容)などの情報がないとどこが悪くてそんな事が発生しているか見当もつきません。
記事No.15583 のレス /過去ログ32より / 関連記事表示
削除チェック/

■17301  Re[8]: Webサービスのコンパイルタイミング
□投稿者/ なちゃ -(2008/04/21(Mon) 20:29:03)
    小さなサイトで何秒もかかるのは、アプリが再起動してる場合が多いです。
    ※もちろん他の可能性もありますが

    で、例えばbinディレクトリに書き込みしてないかとか、
    そういうところの方が確認が要りそうです。
記事No.17274 のレス /過去ログ34より / 関連記事表示
削除チェック/

■36399  Re[1]: static で const な 文字列配列について
□投稿者/ Hongliang -(2009/05/28(Thu) 14:16:13)
    C# では(というか CLI では)、組み込みの数値型、および null 参照のみしか const に指定できません。
    配列フィールド自体への代入を防ぎたいなら readonly キーワードが使えます。
    配列要素への代入を防ぐなら Array.AsReadOnly によって取得される ReadOnlyCollection を使用するか、適当なインデクサを定義したクラスで隠蔽します。
記事No.36398 のレス /過去ログ63より / 関連記事表示
削除チェック/

■87773  Re[6]: 別フォームにデータを渡したい
□投稿者/ WebSurfer -(2018/06/29(Fri) 11:26:44)
    No87770 (いまそかり さん) に返信
    
    C# ですがサンプルを書いておきます。Form5 ⇒ Form1, Form6 ⇒ Form2 に読み替えてください。
    
    デザイナで Form5 には Button を、Form6 には ComboBox をドラッグ&ドロップして、必要なイ
    ベントハンドラを生成しただけです。
    
    
    Form5.cs
    
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace WindowsFormsApplication2
    {
        public partial class Form5 : Form
        {
            public Form5()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                DataTable table = new DataTable();
                table.Columns.Add(new DataColumn("ID", typeof(Int32)));
                table.Columns.Add(new DataColumn("Name", typeof(string)));
                for (int i = 0; i < 5; i++)
                {
                    DataRow row = table.NewRow();
                    row["ID"] = i;
                    row["Name"] = "Product Name_" + i.ToString();
                    table.Rows.Add(row);
                }
                DataSet df = new DataSet();
                df.Tables.Add(table);
    
                Form6 frm = new Form6(df);
                frm.Show();
            }
        }
    }
    
    
    Form6.cs
    
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace WindowsFormsApplication2
    {
        public partial class Form6 : Form
        {
            private DataSet df;
    
            public Form6()
            {
                InitializeComponent();
            }
    
            public Form6(DataSet df)
            {
                InitializeComponent();
                this.df = df;
            }
    
            private void Form6_Load(object sender, EventArgs e)
            {
                comboBox1.DataSource = df.Tables[0];
                comboBox1.DisplayMember = "Name";
                comboBox1.ValueMember = "ID";
            }
        }
    }
記事No.87756 のレス /過去ログ151より / 関連記事表示
削除チェック/

■87783  Re[5]: 別フォームにデータを渡したい
□投稿者/ いまそかり -(2018/06/29(Fri) 16:11:32)
    No87773 (WebSurfer さん) に返信
    
    WebSurferさん、回答ありがとうございます。
    
     
    > C# ですがサンプルを書いておきます。Form5 ⇒ Form1, Form6 ⇒ Form2 に読み替えてください。
    > 
    > デザイナで Form5 には Button を、Form6 には ComboBox をドラッグ&ドロップして、必要なイ
    > ベントハンドラを生成しただけです。
    
    
    サンプルコードありがとうございます!
    おかげさまで、無事に実行が成功しました^^
    
    
    >     public partial class Form5 : Form
    >     {
    >         public Form5()
    >         {
    >             InitializeComponent();
    >         }
    
    
    まさかのオーバーロードの書き忘れによるエラーでした…。
    (オーバーロードを両方のFormに書く必要があるのだと知らずに初歩的なミスをしていました)
    
    上記のコードをForm1に入れたらちゃんと動くようになりました!
    
    本当にありがとうございました!
    
    
    
    
    
    
    
    
    ■No87776 (魔界の仮面弁士 さん) に返信
    
    魔界の仮面弁士さん、回答ありがとうございます。
    
    
    
    >><修正後ソースコード>
    >>	'xmlからデータを取得
    >>	Function xmlGet(Byval a As String,Byval b As String)
    > 
    > Function の戻り値のデータ型が示されていません。
    > 戻り値が無いのなら Sub にするべきですし、
    > 戻り値があるのなら、末尾に「As String」などの記述が必要です。
    
    
    すみません、今回の質問やエラーに直接関係ないかなと思って戻り値書いていませんでした。
    あと、As Stringも書き忘れてますね…申し訳ないです。
    
    
     
    
    >>* 'ボタンクリックイベント(Form2が開く)
    >>* Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    >>*  Dim frm As Form2
    >>*  frm = New Form2(df) 
    >>*  frm.Show()  '(※1)
    > 
    > この段階で、df の中身が Nothing になっていたりはしませんか?
     
    
    はい、その段階でなっていました。多分、dsとdfが混在していたことが原因だったとは思うんですが…。
    
    
    
    
    >>* 'Form2のオーバーロード(引数あり)
    >>* Public Sub New()
    >>*  InitializeComponent()
    >>* End Sub
    >>* 'Form2のオーバーロード(引数あり)
    >>* Public Sub New(df As DataSet)
    >>*  IntializeComponent()
    >>*  Me.df = df
    >>* End Sub
    > 
    > この 2 箇所の IntializeComponent() の行で、[F9]キーを押してブレークポイントを貼り、
    > この行で一時停止させてみてください。
    > 
    > (※1) からは、後者「Sub New(df As DataSet)」側の IntializeComponent が呼ばれるはずです。
    > 後者が呼ばれた場合は、引数 df が Nothing で無いことを確認してください。
    > もし、引数に Nothing が渡されるとマズイ場合には、IntializeComponent を呼ぶ前に
    >  If df Is Nothing Then
    >   Throw New ArgumentNullException("df")
    >  End If
    > などを設けておくとよいでしょう。
    
    
    なるほど、勉強になります。
    確かに(※1)からは後者が呼ばれていました。
    何でもかんでもtry-catchで囲むんでなく、if文で例外をthrowするといいんですね。
    万が一のこともあると思うので、ソースコードに追加します。
    
    
    
     
    > 一方、前者「Sub New()」側の IntializeComponent が呼ばれることがあるとすれば、
    > それは想定外の呼び出しとなります。
    > 引数が渡されなければ、Me.df も Nothing のままになってしまうわけで。
    > 
    > もしも前者が呼ばれるようであれば、それがどこから呼び出されているのか
    > コードを見直してみてみてください。
    > 
    > たとえば、前者を
    >  Public Sub New()
    > のままにしただけなら、コンパイルが通る(ただし実行時エラー)のに、それを
    >  Private Sub New()
    > にしただけでコンパイルエラーになるようであれば、現在のプロジェクト設定
    > もしくはコーディングのどこかが間違っているのだと思います。
    >  
    > 本来は前者を削除して、後者だけにしたいところなのですが、その場合、
    > 特定の条件を満たしたときに、自動生成される *.designer.vb 内で、
    > VB のコンパイルエラー BC30109 を生じさせることがあるのが悩ましいところ。
    > 
    > デザイナコードでエラーが生じると、話がややこしくなるため、
    > No87759 では意図的に、引数なしコンストラクタを残すように案内しています。
    > (きちんと理解している人なら、前者を削除した状態でも正常に動作するコードを書けるはず)
    
    
    少しのミスでエラーが起きる世界だと改めて分かったので、
    もっとプログラミングに関しての知識を深めていけるように頑張ります。
    
    引数なしのコンストラクターは参照0個だし必要あるのかなと疑問でしたが、
    これがないだけで発生するエラーがあるんですね…。
    今回は特にコンストラクタに対しての指定はないですし理解も不十分なところがあるので、
    引数なしコンストラクタを書いておくようにします。
    教えていただきありがとうございました。
    
    
    
    
    
    > Reflection が必要となるのは、非常に限定された処理であって、
     
    > それに、Form1_Load を自前で呼び出すのも避けるべきです。
    > イベントハンドラーを、普通のメソッドのように呼び出すことはもちろん可能ですが、
    > これは本来「呼びだされる物」であって、「呼び出す物」ではありませんので。
    
    
    なるほど、できるだけ使用しないべきという訳ではなく、特定の条件下で使用するのがベストなんですね。
    今回のことでイベントハンドラーは呼び出される物だと分かったので、これからは「メソッドと同じ扱いはしない」
    ということを肝に銘じておきます。
    
    
    
    
    
    
    
    
    
    
    回答頂いた皆様、短い間ではありましたが、お付き合いいただき本当にありがとうございました!
    まだまだ初心者ですが、皆様のおかげで多くのことを勉強することができました。
    この場を借りてお礼申し上げます。
    また今後お世話になることもあるかとは思いますが、その時はどうぞよろしくお願いします。
    
記事No.87756 のレス / END /過去ログ151より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -