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

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

C# と VB.NET の入門サイト

プログラムの作成途上に新しい同名のFormが出来る

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■94440 / inTopicNo.1)  プログラムの作成途上に新しい同名のFormが出来る
  
□投稿者/ つばき (4回)-(2020/04/13(Mon) 09:56:34)

分類:[VB.NET/VB2005 以降] 

以前からづっと不思議だったのですが、例えば既存のForm1.vbに修正も加えテストのために「開始」もするのですが、
その時、何故か突如、同名のForm1.vbがもうひとつ作られてもしまいます。
その為に、修正も加えたForm1.vbが実行もされずに、もうひとつある同名のForm1.vbが実行もされる、と言ったことにもなるのです。

ちなみにプログラムを改変もする時には、その都度、新しいフォルダーも作り、
そこにコピーもしそれにて実行もしてますので過去のとは何らかのリンクもしてることもないとも思うのです。

よろしくお願いします。
引用返信 編集キー/
■94441 / inTopicNo.2)  Re[1]: プログラムの作成途上に新しい同名のFormが出来る
□投稿者/ 魔界の仮面弁士 (2681回)-(2020/04/13(Mon) 10:05:38)
× づっと
○ ずっと
 
No94440 (つばき さん) に返信
> その為に、修正も加えたForm1.vbが実行もされずに、もうひとつある同名のForm1.vbが実行もされる、と言ったことにもなるのです。

特にコードを書いていない、新規プロジェクトでは発生しないのですよね?

「Form1.Show()」や「Form1.TextBox1.Text = ""」などといった『暗黙のフォームインスタンス』と
「f = New Form1()」や「Using f As New Form1()」などといった『明示的なフォームインスタンス』が
混在しているということはないでしょうか。

既存のコードで前者の表現があるようなら、その行をコメントアウトしてみてください。
引用返信 編集キー/
■94442 / inTopicNo.3)  Re[1]: プログラムの作成途上に新しい同名のFormが出来る
□投稿者/ WebSurfer (2037回)-(2020/04/13(Mon) 10:07:08)
No94440 (つばき さん) に返信
> 以前からづっと不思議だったのですが、例えば既存のForm1.vbに修正も加えテストのために「開始」もするのですが、

その「開始」というのはどういう手順で行っているか、ここに書いてないことは知り得ない第三者が
わかるように具体的に書いていただけませんか?(なんとなくこういうことではないかと想像はして
ますが、想像ベースで答えて、想像が違っていると混乱を招くばかりですので)
引用返信 編集キー/
■94443 / inTopicNo.4)  Re[1]: プログラムの作成途上に新しい同名のFormが出来る
□投稿者/ 魔界の仮面弁士 (2682回)-(2020/04/13(Mon) 10:13:28)
No94440 (つばき さん) に返信
> 以前からづっと不思議だったのですが、例えば既存のForm1.vbに修正も加えテストのために「開始」もするのですが、
> その時、何故か突如、同名のForm1.vbがもうひとつ作られてもしまいます。

Form1 のインスタンスが 2 つ起動する…という話かと思いましたが、
もしかして、ソリューション(プロジェクト)内の別のフォルダーに、
Form1.vb ファイルがもう一つ生成されてしまうということなのでしょうか。


ひとまず、下記の手順で改善されないでしょうか。

(1) Visual Studio をすべて終了させておく

(2) ソースコードのあるフォルダーを丸ごとバックアップしておく

(3) フォルダー内の \bin および \obj フォルダーを削除する

(4) Visual Studio を再度開いて、ソリューション(あるいはプロジェクト)をロードする

(5) ソリューション エクスプローラーで、ソリューション(あるいはプロジェクト)を右クリックして
 [クリーン]を選択する

(6) この時点で Form1.vb の内容に問題が無いかを確認し、[リビルド]してみる
引用返信 編集キー/
■94462 / inTopicNo.5)  Re[2]: プログラムの作成途上に新しい同名のFormが出来る
□投稿者/ さき (32回)-(2020/04/13(Mon) 19:23:02)
No94443 (魔界の仮面弁士 さん) に返信

> ○ ずっと

ずっとの方が正解なんでしょうね。
どちらも使われてはいるものの。

> 特にコードを書いていない、新規プロジェクトでは発生しないのですよね?

> 混在しているということはないでしょうか。

それらはないですね。

> Form1 のインスタンスが 2 つ起動する…という話かと思いましたが、

ソリューションエクスプローラーにある Form1.vbを選びコードの表示をしたとします。
さすれば左上方向にForm1.vbが表示もされコードも開きます。
その位置にもう一つの新たなる Form1.vbの表示も出来もしてしまうとの現象です。

デザイン上にある例えばButtonをクリックし、コードの修正もしようとした時にも成る時があります。

> ひとまず、下記の手順で改善されないでしょうか。

Formの数が少々多く面倒ではあるのですが試してみます。

ありがとうございました。
解決済み
引用返信 編集キー/
■94463 / inTopicNo.6)  Re[2]: プログラムの作成途上に新しい同名のFormが出来る
□投稿者/ さき (33回)-(2020/04/13(Mon) 19:27:42)
No94442 (WebSurfer さん) に返信

> その「開始」というのはどういう手順で行っているか、ここに書いてないことは知り得ない第三者が
> わかるように具体的に書いていただけませんか?(なんとなくこういうことではないかと想像はして
> ますが、想像ベースで答えて、想像が違っていると混乱を招くばかりですので)

文書での説明は難しいものですね。
特に素人の分際でもありますので。


解決済み
引用返信 編集キー/
■94464 / inTopicNo.7)  Re[3]: プログラムの作成途上に新しい同名のFormが出来る
□投稿者/ WebSurfer (2039回)-(2020/04/13(Mon) 19:58:59)
No94463 (さき さん) に返信

一貫して同じハンドルを使用し、場を混乱させないようにしましょう。同じハンドルの方が質問の背景が
わかりやすいです (自作自演をしたり別人を装うのは回答者の善意を裏切る行為です)。
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ