くだすれ.NET(超初心者向け) at TECH
[2ch|▼Menu]
[前50を表示]
150:デフォルトの名無しさん
07/10/31 21:52:06
.NETで実装されているオープンソースの2ch専用ブラウザってありますか?

151:デフォルトの名無しさん
07/10/31 21:58:51
>>150
URLリンク(www.geocities.co.jp)

152:デフォルトの名無しさん
07/10/31 22:08:03
>>151
ありがとうございます!

153:デフォルトの名無しさん
07/10/31 22:48:37
TabControlについて教えてください

tabPage1に貼り付けたコントロールすべてを
tabPage2に移動させるにはどうしたらいいのでしょうか?

VS2005 .net C#で開発しています
よろしくお願いします。

154:デフォルトの名無しさん
07/10/31 22:59:25
コントロールを複数選択してコピペすればいいじゃん
むしろ同じ物を配置するならユーザコントロール作っとけ

155:153
07/11/01 07:34:19
>>154
ユーザーコントロールですが。
ありがとうございます!!
全然気が付きませんでした。

156:デフォルトの名無しさん
07/11/02 15:17:53
VB2005で。

Dim strA As String = "ABC"
Dim strB As String
strB = strA
strA = "XXX"
Debug.Print("strA=" & strA)
Debug.Print("strB=" & strB)

実行結果
strA=XXX
strB=ABC

なんでstrBも"XXX"と出力されないの?
String型変数は参照型なんだから、strAもstrBも同じ領域を参照してるんじゃないの?

それともstrA="XXX"の行は参照先の書き換えではないんだろうか…


157:デフォルトの名無しさん
07/11/02 17:01:25
>>156
strB = strA <- 変数strBの参照先を書き換えている。
strA="XXX" <- 変数strAの参照先を書き換えている。

158:デフォルトの名無しさん
07/11/02 17:40:35
>>157
strB = strA <- 変数strBの参照先(アドレス)を書き換えている。
strA="XXX" <- 変数strAの参照先(のデータ領域)を書き換えている。

…という動作を期待しました。


159:デフォルトの名無しさん
07/11/02 18:00:20
なんで同じ演算子でそんな気持ち悪い動作になるんだよ。

160:デフォルトの名無しさん
07/11/02 19:58:34
Stringはイミュータブルな参照型で参照型の中でも特別扱いって
どんな入門書にも書いてないか?

161:デフォルトの名無しさん
07/11/02 20:07:34
別にミュータブルな参照型でも同じだろ。

162:デフォルトの名無しさん
07/11/02 20:08:43
>>161

163:デフォルトの名無しさん
07/11/02 20:11:40
っていう嫌味の一行レスだと161には通じないかな。
Stringが純粋に普通の参照型だとすれば、156の期待は正しい。
158の文章の内容はちょっと怪しいけどね。

164:デフォルトの名無しさん
07/11/02 21:53:28
158や163の言っている状況をStringBuilderで再現するとこうなるか。

Dim strA As New StringBuilder("ABC")

Dim strB As StringBuilder
strB = strA
strA.Remove(0, strA.Length).Append("XXX")
Console.WriteLine("strA=" & strA.ToString)
Console.WriteLine("strB=" & strB.ToString)

165:デフォルトの名無しさん
07/11/02 23:01:45
>Stringが純粋に普通の参照型だとすれば、156の期待は正しい。
どういうこと?


166:デフォルトの名無しさん
07/11/03 01:02:03
>純粋に普通の参照型だとすれば、156の期待は正しい
( ´・∀・`)へー

167:デフォルトの名無しさん
07/11/03 01:38:30
>>156
3行目でstrBの内容を"ABC"に書き換えた後、strBの内容は一切変更されていないから。
4行目の処理はstrBの内容を変更しない。

ていうか、VBの文字列Cの文字列などと同じようには扱えない。

168:デフォルトの名無しさん
07/11/03 01:51:50
はぁ? トートロジー?

169:デフォルトの名無しさん
07/11/03 08:13:47
純粋な普通の参照型かどうかより、単に代入演算の意味(セマンティクス)の問題だと思う。

170:デフォルトの名無しさん
07/11/03 13:45:30
>>169
わかってないなら無理しない方がいいよw
少なくとも君の理解は156以下だから。

171:デフォルトの名無しさん
07/11/03 13:59:39
object a = new object();
object b = a;
a = new object();

MessageBox.Show( (a==b).ToString() );
//false

ってだけの話ちゃうのん

172:デフォルトの名無しさん
07/11/03 14:13:21
ちゃうだろ

173:デフォルトの名無しさん
07/11/03 19:59:34
どうみても>>171ってだけの話だろ。
なんでおかしなこといってるやつがこんなに多いんだ。
文字列は特殊だからとかいてってるやつがおかしい。


174:デフォルトの名無しさん
07/11/04 13:47:34
>>171
文字列の管理機構を考えるとちゃうだろ。

175:デフォルトの名無しさん
07/11/04 15:14:19
違わない

176:デフォルトの名無しさん
07/11/04 20:41:13
まあ文字列が絡むと==は別の意味でややこしいから、
ReferenceEqualで書いたほうが意味が明確だな、なんとなく。
別に本質には関係ないんだが。


177:156,158
07/11/05 08:54:15
おはようございます。
文字列を扱うと純粋な参照型ではない。
がここでの結論ですな。あとは気長に勉強しまする。

どうせなら「HELPのここに書いてある」ぐらいは教えてりゃいいのに。
偉ぶりたいだけの回答者もいたみたいだけどありがt

178:デフォルトの名無しさん
07/11/05 20:44:22
文字列を扱うと、というより.NETの参照型は、と言ったほうがいいと思う。

179:デフォルトの名無しさん
07/11/05 21:21:37
>文字列を扱うと純粋な参照型ではない。
>がここでの結論ですな。あとは気長に勉強しまする。

あほかちがうっちゅうに。
純粋な参照型だよ。


180:デフォルトの名無しさん
07/11/07 00:10:42
2005のEE版ではMFCは使いえないよね?
VC6は持ってるんだけどてそこにあるMFCでVS2005からMFCを使って
プログラム作れるようにしたいんだけど、どうしたらいいかな

181:デフォルトの名無しさん
07/11/10 00:56:57
VB2005で
DataViewのRowFilterの条件記述には、AndAlso, OrElseは使えないんでしょか?
ビルドは出来るけど実行時エラーに。
それとも私が間違ってるだけですか。AndとOrなら動くんですが。

182:デフォルトの名無しさん
07/11/10 01:55:41
なんでAndとOrで駄目なの?


183:181
07/11/10 11:48:21
>>182
機能的にはOKなので、駄目ではないのですが、
沢山記述するので[AndAlso/OrElse]が良いのかなと思ってます。


184:デフォルトの名無しさん
07/11/12 23:32:28
RowFileterの条件前にそれつかって条件作成しとけばいいんじゃね?

185:181
07/11/15 10:52:53
ビューカラムの値に対して、条件指定したいので
それは無理そうです。

186:デフォルトの名無しさん
07/11/18 04:38:37
件数にもよるけどデータなめれば?
つうかさ・・・SQLで条件組めば済み話じゃないのかと

187:181
07/11/18 19:35:19
はい、SQLで済む話なんですけど、
Viewに読み込んでる後なので、そのまま使えれば良いなと。

仕様であれば、仕方ありません。
私の勘違いでView+AndAlsoが使えてないのなら
勿体無いと思ったまでです。

188:デフォルトの名無しさん
07/11/18 19:49:12
すいません、質問よろしいでしょうか?
現在、簡単なペイント系ツールを作成しています。
拡大縮小機能を実装するべく、
Graphics.DrawImage (Image, Rectangle, Rectangle, GraphicsUnit)
にて拡大したBitmapをPictureBox.Imageに代入していますが、
この方法だと、大きな画像を拡大した場合に非常に重くなり、
画像のスクロールもままならなくなってしまいます。
大きい画像を拡大しても重くならない実装方法がありましたら
ご教授お願いします。

189:デフォルトの名無しさん
07/11/18 23:06:41
どれ位なのかしらないけどさ

PictureBoxのプロパティで元の比率を保ったまま自動でリサイズしてFitするように描画してくれるのあるじゃない?
あれじゃだめっすか?

190:189
07/11/18 23:08:49
ごめ、読み違えてた

スクロールとかしてかつ拡大縮小っつうと以前VB.NETでやったときにAPI使ってやってた
それだとWin2000+P4 1.8G Mem512くらいのレベルのマシンでも十分快適に動いたよ
必要があるなら使ったAPIくらい書き込むけど?

191:188
07/11/19 01:13:29
お願いします!

192:デフォルトの名無しさん
07/11/19 02:29:59
>大きい画像を拡大しても重くならない実装方法

賢く実装

193:デフォルトの名無しさん
07/11/19 02:37:20
あんま上級者じゃないから使ってるAPIとかイマイチかもしれないけど
CreateCompatibleDC
SelectObject
ReleaseDC
GetStretchBltMode
SetStretchBltMode
DeleteObject
DeleteDC
BitBlt
StretchBlt

基本は
CreateCompatibleDC
BitBlt
StretchBlt
使って描画関連を行っている感じ
これをクラスで独自ラップして適当にイベント出したりしてつかってたよ


194:デフォルトの名無しさん
07/11/19 19:01:27
そんなややこしいことしなくても発想をちょっと変えるだけでしょ。
変えるというか、普通のWindowsの描画方法で普通にやるだけじゃん。

>>188のやり方がアブノーマルなんだよ。
何でわざわざビットマップに描画して、それをImageに指定するの。
考え方がヘンテコすぎるよw

コントロールのOnPaintをオーバライドするかPaintイベント捕まえて
普通にコントロールのDCに描画しろよ。

195:188
07/11/19 19:57:44
ただいま帰りました。

>>193
ありがとうございます!参考にさせていただきます。

>>194
すいません、Windowsプログラミング&C#ともに初めてでして・・・。
出直してきます。

196:デフォルトの名無しさん
07/11/20 23:15:47
VB2005のWebBrowserコントロールについてなんですが
例えば、WebBrowser1.Navigate("C:\")とすると
フォルダの中身が一覧表示されますよね。
この時、表示スタイル(縮小版、並べて表示etc)を、
右クリックのコンテキストメニューで指定するのではなく、
プログラム内部で制御したいのですが、方法がどうしてもわかりません。
ヘルプのメンバ一覧を見てもそれらしきプロパティやメソッドは無かったです。
出来ればWindowsエクスプローラのファイル表示方法をフォルダ毎に取得して、
表示スタイルを同期出来ればベストなんですが、WebBrowserコントロールでは
そういう事は不可能なんでしょうか?

197:デフォルトの名無しさん
07/11/21 00:42:49
>>196
どこかでも同じ質問してたね。
WebBrowserのメンバにそういうプロパティやメソッドがあるかと思うような人だから
説明してもどうかと思うけど、一応書いてみる。

簡単な方法
ネイティブListViewコントロール(SysListView32)のウィンドウハンドルを探して
LVM_GETVIEW / LVM_SETVIEWをSendMessage

面倒くさい方法
リフレクションを使ってWebBrowserのインスタンスからaxIWebBrowser2という名前で
IWebBrowser2インターフェイスを取得。
→IServiceProviderにキャスト
→IShellBrowserをIServiceProvider.QueryService経由で取得
→IShellViewやIFolderViewをIShellBrowser.QueryActiveShellView経由で取得
→いじり放題

いずれにせよ、エクスプローラの設定を読み込んで同期するのは骨でしょう

198:デフォルトの名無しさん
07/11/21 01:42:04
>>197
マルチですみません。

プログラム内で制御するとなると、結構大変そうですね。
APIやReflectionはほとんど使った事が無いので勉強して試行錯誤してみます。

ありがとうございました。

199:デフォルトの名無しさん
07/11/29 01:47:01
C++/CLIを使っていて、AxWindowsMediaPlayerコントロール上にD&Dでのファイル読み込みを実装したいのですが、
AllowDropプロパティはあるのに、DragEnter, DragDropイベントがありません。
Win32APIではDragQueryFile()等で実装できましたが、.NET Frameworkではどのようにすれば実現できますか?

200:デフォルトの名無しさん
07/12/11 01:42:40
すいませんお分かりになる方がいらっしゃればこちらも答えていただけませんか?

VB.NET質問スレ
スレリンク(tech板:958番)


201:デフォルトの名無しさん
07/12/15 16:31:27
.NET2.0でTrayMeter(ネットワーク送受信速度をトレイに表示)作ろうと思います
IPV4なんたら使用してそれらしきものは出来たのですが、どうも要らないものまでカウントしているようなのです
ローカルエリア接続アイコンが光らない時でも何か受信している様子
もしかして非ユニキャストとか言うものがやって来てるのでしょうか
もしそうなら、非ユニキャストの「バイト数」を取ってくる方法を教えてください
非ユニキャストのパケットサイズでもいいです
または、ローカルエリア接続のプロパティに出て来る受信バイト数でも構いません
よろしくおねがいします


202:デフォルトの名無しさん
07/12/15 16:42:57
.NET2.0で非ユニキャストパケットのサイズを知る方法はありますか?
または非ユニキャスト総バイト数でもいいです
ローカルエリア接続のプロパティの受信バイト数が直接取れればベストなんですが
IPV4なんたらのは違うようなので


203:201=202
07/12/15 17:10:20
ありゃ
投稿後のリロードで出てこなかったから蹴られたかと思ったorz
201=202=自分です
申し訳ない

204:デフォルトの名無しさん
07/12/20 22:33:29
教えてください。
VS2005 C#を使ってます。

タブコントロールですがCtrl+Tabでタブが切り替わるのですが、これを禁止する方法はありますか?

よろしくお願いします

205:デフォルトの名無しさん
07/12/21 16:49:44
継承して以下のメソッドをオーバーライドでどよ。

protected override bool ProcessCmdKey( ref Message msg, Keys keyData )
{
    if( ( keyData == ( Keys.Control | Keys.Tab ) ) || keyData == ( Keys.Control | Keys.Shift | Keys.Tab ) )
    {
        return true;
    }

    return base.ProcessCmdKey( ref msg, keyData );
}


206:デフォルトの名無しさん
07/12/21 19:33:44
ワタクシも教えて下さい。

VS2005 VBですが、
テーブルレイアウトパネルのサイズを動的に変更したり、
場合によってラジオボタンorチェックボックスの表示を切り替えたりすると
画面描画が遅いのが目立ちます。

PC性能アップ以外に早くなる方法があれば教えて下さい。
C#にすると早くなったりしますか?

207:デフォルトの名無しさん
07/12/21 19:48:03
詳しくは知らないけど.NET使ってれば同じじゃね?
俺はVBからVC++に乗り換えたけど.NET使ってプログラム組んでるやつはそんなに速度変わらないよ

208:デフォルトの名無しさん
07/12/21 20:31:33
色々いぢくった後に纏めてRefresh()とかやれば多少はマシになるんでないか
実験してないが

209:デフォルトの名無しさん
07/12/21 21:00:48
>>206
IDEで実行して言ってないよね?w
Releaseのバイナリを直接動かしてみた?

210:CeleronM 1.5G
07/12/22 10:35:13
>>207-209
ありがとうございます。

描画速度だからC#でも同じですかね。
ちょっと検討してみます。
バイナリ直接でも遅いです。

未だVB詳しくないもんで、特別に何か巧い手があるかなと思ったんですが。
冗長コーディングとかして速さ追求してみます。

211:デフォルトの名無しさん
08/01/04 23:43:37
Matrixについての質問なんですが、指定した点(アンカーポイント)についてのスケール変更
ってどのようにするのでしょうか?一度原点を移動してからスケールを変更しても
原点移動しないでスケール変更したのと同じになってしまいます。
回転や平行移動などは原点の移動で指定した点についての変形ができるのですが、
どうしてもスケール変更だけは上手くいきません。
なぜでしょうか?

212:デフォルトの名無しさん
08/01/04 23:44:34
ギャァァァァァァァァァ
すいません、ageてしまいました。
吊ってきます orz

213:デフォルトの名無しさん
08/01/15 02:29:45
VS2005 VB で質問です。

条件分岐でファイルがある場合は読み込み、
無い場合は作る。といった感じの動きをしたいんですが、
ファイルが無い場合に、else以下の処理でファイルを作った後に
上に戻ってファイルを読む動きをしてしまいます。

ソースをどこまで書けばいいのか分からなかったのですが、
下記がif文の中身です。勉強がてら2chブラウザを作っていまして。
exit subを入れても動作は同じでした。どこで戻るのか全く分かりません…
よろしくお願いします。

214:デフォルトの名無しさん
08/01/15 02:30:34
If System.IO.File.Exists(CurDir & "\" & MyBordNunber & ".dat") = True Then
'取得データがある場合
Dim MydownFile As StreamReader
Dim Mytext As String
Dim MyLine As Integer = 1

MydownFile = New StreamReader(CurDir & "\" & MyBordNunber & ".dat", Encoding.Default)

'改行コード数
Do While -1
Mytext = MydownFile.ReadLine()
If Mytext Is Nothing Then
Exit Do
End If
MyLine += 1
Loop

RichTextBox1.Text = MyLine



215:デフォルトの名無しさん
08/01/15 02:31:04
Else

'取得データが無い場合

MyHead = "GET /" & MyBordKey & "/dat/" & MyBordNunber & ".dat HTTP/1.0" & vbCrLf & "Host: " & MyHost & vbCrLf & "User-Agent: Monazilla/1.00" & vbCrLf & "Connection: close"

'送受信
MyWrite.WriteLine(MyHead)
MyWrite.WriteLine("")
Mydat = MyReader.ReadToEnd
MySocket.Close()

'レスポンス判定
If Mydat.Substring(9, 3) = 200 Then

'dat保存
Dim MyLasttime As String
MyLasttime = 1
RichTextBox1.Text = Mydat

TextFlag = Mydat.IndexOf(vbCrLf + vbCrLf) + 4
Mydat = Mydat.Substring(TextFlag, Mydat.Length - TextFlag)
Dim MydatWrite As New StreamWriter(CurDir & "\" & MyBordNunber & ".dat")
MydatWrite.Write(Mydat)
MydatWrite.Close()

Else
RichTextBox1.Text = "見つかりません"

End If
End If

216:デフォルトの名無しさん
08/01/15 02:33:43
貼り付けたらネストが…

217:デフォルトの名無しさん
08/01/15 03:25:22
ごめんなさい。
Handles Button1.Click, Button1.Click
と繰り返してました…
スレ汚し申し訳ないです。

218:デフォルトの名無しさん
08/01/15 12:45:32
生兵法は怪我の元。
マジメに基礎から勉強せえや、としかいいようがないと思うけど。。

219:デフォルトの名無しさん
08/01/15 23:38:00
みなさん ''' とか /// 使ってます?


220:デフォルトの名無しさん
08/01/15 23:56:48
使ってる

221:デフォルトの名無しさん
08/01/16 11:23:46
使うてる

222:デフォルトの名無しさん
08/01/16 11:58:00
使っとう

223:デフォルトの名無しさん
08/01/17 08:53:30
ファイルあるかな?
if (なかった)
{
 ファイルを作る
}
ファイルを開く
ファイルを読む
ファイルを閉じる

224:デフォルトの名無しさん
08/01/17 09:51:14
>>223
作ったばかりのファイルから一体何を読むんだい

225:デフォルトの名無しさん
08/01/17 13:43:09
どうか教えてくださいお願いします。

1.
.NETの文字列型(String)の内部コードってUTF-16ですよね?
以下にそう書いてあるし。
URLリンク(msdn2.microsoft.com)(VS.80).aspx

2.
それと以下にはASP.NETでは入出力にUTF-8が使われると書いてありますが、
これはあくまで入出力の問題であって、.NETのString型の内部コードとは無関係ですよね?
URLリンク(www.atmarkit.co.jp)

3.
そこで気になっているのが、
プロパーから提供されたソースに以下の様なコードがあってですね、
"^[ -~。-゚]+$"
これは正規表現の文字列なのですが、
半角文字のみで構成されている文字列の時にOKとしたい様なのです。
内部コードがUTF-16の場合にこれで上手く行くのか不安です。
.NETのStringの内部コードがUTF-16ならば、正規表現もUTF-16で動く筈ですよね?

#今UTF-16のコードページを見ていたら、半角片仮名の並びがShift_JISと同じでした。
#これはこれで上手く動きそうです。
#ですが、正規表現の内部コードについて知りたいのでお願いいたします。

自分はVB.NET 2005とASP.NETを使ってwebアプリ開発をやっています。
OSはクライアントはWinXPSP2、サーバーはWin2003SP?です。

226:デフォルトの名無しさん
08/01/17 21:34:54
コード云々より、その正規表現エンジンの仕様を調べる方が先だろう


227:デフォルトの名無しさん
08/01/17 22:41:32
正規表現エンジンは.NET純正のコレです。
URLリンク(msdn2.microsoft.com)(VS.80).aspx
ココを見るとUTF-16(UCS2?)としか思えないんですけどね…。

228:デフォルトの名無しさん
08/01/17 22:47:27
>>225
危ない橋を渡るより、文字数とSJISのEncodingのバイト数が一致するかどうかを調べる
確実な方法に変えた方がいいと思う。

>>226
何いってんだコイツ?


229:デフォルトの名無しさん
08/01/18 01:45:44
それは確実なのか?

230:デフォルトの名無しさん
08/01/18 09:10:14
U+FF61-U+FF64: Halfwidth CJK punctuation
U+FF65-U+FF9F: Halfwidth Katakana variants

231:デフォルトの名無しさん
08/01/20 12:33:59
難読化するにはDotfuscatorしかないのかな?買おうとするとやたら高い。

Dotfuscatorの入手手段は、いまのところVisualStudio購入するとついてくるCommunity版か、
販売されてるProfessional版の2択であってる?

232:デフォルトの名無しさん
08/01/20 18:25:50
フリーで何かあったはず
名前忘れたけど
ついでに.NET2.0以降に対応してるかも不明
見つけた時は.NET1.1しかなかったから

233:デフォルトの名無しさん
08/01/20 23:31:33
フリーのあるのかと思い .NET 難読化 フリー でググったら、
NanDoKu っていうのが見つかった。
更新もされていていま.NET2.0でも使えるらしい。
これ良さそうだね。ありがとう。

234:デフォルトの名無しさん
08/01/21 02:44:24
フォームをモードレスで表示するけれど、フォームを閉じるまでは呼び出し側を終了しないって言う風にするにはどうすればいいですか?

235:234
08/01/21 04:12:07
あ、丁度適当なスレを見つけたので移動します。失礼しました。

236:お願いします
08/01/25 18:52:04
フォームAの開くボタンから別フォームをモードレスで表示して
同じくフォームAの閉じるボタンから別フォームを閉じるにはどうしたらいいですか?


237:デフォルトの名無しさん
08/01/25 18:58:32
お手軽にやるなら new FormB().Show(this)

238:デフォルトの名無しさん
08/01/25 19:41:14
いやいやいやいや

239:デフォルトの名無しさん
08/01/28 23:56:45
Win32APIまじりの質問になって申しわけありません。

現在C++/CLIを使用して.NETからWin32APIでの非同期IOを行っています。
非同期IOの完了通知にSystem.Threading.Overlappedクラスを使っています。
非同期での書き込みは完了し、待機イベントもシグナルを受信するのですが、
Overlapped.Packメソッドに渡したコールバックデリゲートが呼ばれなくて困っています。

1 Overlappedをインスタンス化する。(hEventは手動リセットイベントオブジェクト asyncはIAsyncResultを実装したクラス
Overlapped ^ overlapped = gcnew Overlapped(0 , 0 , IntPtr(hEvent) , async);
2 Packする。
NativeOverlapped * nativeOverlapped = overlapped->Pack(callback , buffer);
3 非同期IOを行う
WriteFile(hIO ,Marshal::UnsafeAddrOfPinnedArrayElement(buffer,0).ToPointer() , buffer->Length , NULL , (LPOVERLAPPED)nativeOverlapped);

4 完了通知を受け取った(hEventがシグナルを受信)あとにリソースを開放する
Overlapped ^ overlapped = Overlapped::Unpack(nativeOverlapped);
Overlapped::Free(nativeOverlapped);

で間違いありませんよね?
hIOはFILE_FLAG_OVERLAPPEDを設定して開いてあります。

コールバックデリゲートを呼び出すには何か他の操作が必要なのでしょうか?

240:デフォルトの名無しさん
08/01/29 03:47:49
>>239
スレ選ぼうね

241:デフォルトの名無しさん
08/02/02 17:20:25
VS2008 Expressがダウンロードできない。
各製品のWebインストールもできない。

単に休日で混んでるのか、メンテナンス中なの?

242:デフォルトの名無しさん
08/02/03 01:36:59
嫌われてるんだよ

243:デフォルトの名無しさん
08/02/03 01:37:56
ワンピーススレって伸びないよね

244:デフォルトの名無しさん
08/02/03 21:10:45
.NETアセンブリのDLLをネイティブなオブジェクトファイルと静的リンクする場合、
どの段階でアプリケーションドメインが初期化されるのでしょうか。

ole32などを一緒にリンクすると起動時にプロセスの初期化エラーが出るので、
DllMainで何か悪さをしているような気がしてならないのです。

245:デフォルトの名無しさん
08/02/03 21:30:53
.netでC言語をやりたいですが、どこからDLすればいいですか?

246:デフォルトの名無しさん
08/02/03 21:51:08
.NETフレームワーク向けのCってのはあまり聞かないな
C++拡張でいいのならC++/CLIがあるが

247:デフォルトの名無しさん
08/02/04 00:12:37
C.net

なんか新鮮
つーか質問者はC#のことを言っていると思うが

248:一応ある
08/02/04 10:27:17
C# & C対応
URLリンク(www.gnu.org)
C対応
URLリンク(www.cs.princeton.edu)

最新の.NETFramework上で動くかどうかは未検証。

249:デフォルトの名無しさん
08/02/07 18:15:19
CLIのMSによるWindowsへの実装がCLRですよね。
.NETというのは具体的に何を指すんでしょうか?
それとも、具体的なものでなく、MSの考える一連の共通な基盤を挿す包括的・抽象的な概念なんでしょうか?

250:デフォルトの名無しさん
08/02/07 19:24:36
.NET FxはCLRにWPFやWCFなどのライブラリを加えたもの。

251:デフォルトの名無しさん
08/02/07 20:46:21
嘘です

252:249
08/02/07 23:44:11
>>250
↓を見る限り、やはり一連の「アプリ開発・実行環境」全体を指す、ってことでしょうかね?
Wikipedia項目リンク

253:デフォルトの名無しさん
08/02/08 13:58:33
すいません、.net2003で
ボタンを押してフォームを開く処理で
呼び出し側は操作できるようにしときたいのですが
何回ボタンを押しても1画面以上開かないようにしたいです。

Public frmList As Form

public sub openForm()
  If IsNothing(frmList) Then
frmGamen = New frmDataGamen
Call frmGamen .Show()
End If
End Sub

それで上記のように作ったのですが
これだとcloseした後2度と開けなくなってしまいます。

254:デフォルトの名無しさん
08/02/08 13:59:14
間違えて途中で送信してしまいました。すいません。

255:デフォルトの名無しさん
08/02/08 14:05:22
何度も間違えてすいません。
ソースも間違ってました。

Public frmList As Form

public sub openForm()
  If IsNothing(frmList) Then
   frmList = New frmDataGamen
   Call frmDataGamen.Show()
  End If
End Sub

これで
URLリンク(dobon.net)

>補足:Closeメソッドでフォームを閉じた時は、その後このフォームを表示することはできません。もしフォームを一時的に非表示にするだけであれば、Hideメソッドを呼び出したり・・・
とありますがこれを回避する方法ってありますでしょうか?

何回もすれ汚してすいませんでした。

256:デフォルトの名無しさん
08/02/08 14:29:08
>>250
.NET Fx=.NET Frameworkの略ですか?
FrameworkをFxと略すのって発音的にちょっと変な気が・・・複数形のFrameworksだったらいいんだけど

257:デフォルトの名無しさん
08/02/08 15:11:03
>>256
.NET Freamwork FX は開発コードで Feature X の意味だったような・・
製品化された後の名称が.NET .Freamwork 3.0

258:デフォルトの名無しさん
08/02/08 15:15:10
>>255
>Call frmDataGamen.Show() 

frmList.Show()
の間違いと考えていい?
それからクラス名は大文字で始める。frmのようなハンガリ記法は避ける。
この場合はFromDataGamenとするのが推奨。


259:デフォルトの名無しさん
08/02/08 15:16:44
>>257
あれ、WinFXが.NEW Framework 3.0になったと記憶してましたが・・・?
もしかしてその名残で.NET Fxって言うのかなぁ

260:デフォルトの名無しさん
08/02/08 15:20:56
>>250 は単純にWinFXのタイポだろ?
実際 3.0 = 2.0 + WPF + WCF + WF なんだから

261:デフォルトの名無しさん
08/02/08 15:37:22
>>258
>それからクラス名は大文字で始める。frmのようなハンガリ記法は避ける。
ここまでは格好良かったのに…!!

>この場合はFromDataGamenとするのが推奨。
Fromだと!?

しかし目から鱗だ。
frmとかlblとかtxtとか普通に使っちゃってるよ。
辞めた方がいいのかな。

262:デフォルトの名無しさん
08/02/08 15:44:48
ご指摘ありがとうございます。
frmList.Show()の間違いでした。
また自己解決できました。

If IsNothing(frmList) Thenを
If IsNothing(frmList) OrElse frmList.IsDisposed then

で再表示させることができました。
ありがとうございました

263:デフォルトの名無しさん
08/02/08 15:49:02
>>261
privateなら別にいいんじゃね

264:デフォルトの名無しさん
08/02/08 15:56:11
>>260
そうですよね。
>実際 3.0 = 2.0 + WPF + WCF + WF なんだから
あとWCS(Windows CardSpace)もですね。

ところでクラスライブラリやCLRは2.0から「全く」変わってないんでしたっけ?

265:デフォルトの名無しさん
08/02/08 16:00:00
うん

266:デフォルトの名無しさん
08/02/08 18:05:56
>>256
.NET Fxって略称はMSFTの人とかが時々使ってるね。
スライドとかで目にすることがある。

267:デフォルトの名無しさん
08/02/08 18:07:06
>>264
実際のところはバグフィックスとか入ってるらしいから、
全く同じかというとそうでもないかもしれない。

268:デフォルトの名無しさん
08/02/08 18:10:50
.NET Framework 3.5では既存部分 (2.0, 3.0)にも手が入っていて、
それぞれSP1として公開されている。

269:デフォルトの名無しさん
08/02/10 00:07:01
ふと思ったんですが
どこからも参照されなくなったインスタンスを、GCに回収される前に裏技など使ってとっ捕まえる方法ってあるんですか?それとも原理的に不可能?

270:デフォルトの名無しさん
08/02/10 00:15:54
っ Finalizeメソッド

271:269
08/02/10 00:47:35
>>270
あ、Finalizeも定義してない場合です。
なんというか、完全に.NETのメモリ管理領域(マネージヒープ?)に漂ってる場合です

272:デフォルトの名無しさん
08/02/10 01:51:44
>どこからも参照されなくなったインスタンス

273:269
08/02/10 02:13:02
忘れることにしますw
こういう馬鹿なこと考えるのはちゃんと.NETを勉強してからにしよう。

274:デフォルトの名無しさん
08/02/10 13:05:59
>>269
インスタンスメソッドへのデリゲートを握られることって参照を握られることに
なるんだっけ?

もしそうでないなら不可能じゃないと思うんだけど、まあそんなことはないよな。

275:デフォルトの名無しさん
08/02/10 13:26:32
>>269
WeakReference


276:デフォルトの名無しさん
08/02/10 17:17:59
どこからも参照されなくなったら、WeakReferenceもクリアされるかと

277:デフォルトの名無しさん
08/02/10 19:07:03
参照を持っとくことはできるけどGCをフックできない。


278:デフォルトの名無しさん
08/02/10 20:00:41
長い弱い参照のWeakReference(object, true)というのはどういうとき使うのだろ。

279:デフォルトの名無しさん
08/02/10 21:08:35
時々しか必要にならないオブジェクトがあるとして、
そいつのインスタンスをずっと保持してるとメモリが無駄になるし、
かといって必要な都度作成するようにするとパフォーマンスが犠牲になる。

こういう場合の「いいとこどり」狙いでしょ。違ったっけ?

ちなみに>>275はナンセンスだよねw
なんでこういう一行レス専門の奴ってアホなんでしょw

280:デフォルトの名無しさん
08/02/10 21:14:22
>>279
そういう目的に弱い参照を使うなとMSDNに書いてあったと思うよ。

281:デフォルトの名無しさん
08/02/10 21:17:49
>>279
「長い」弱い参照の意味わかってるかね?


282:デフォルトの名無しさん
08/02/10 21:20:27
はっきり言って弱参照はなかなか活用しにくい。
javaにある、なんていったかな、ソフト参照だっけかな(違ったかも)?
そういうのなら活用できそうなんだがね〜

大抵すぐに思いつく、キャッシュ方面に用途には、
少なくとも単純には使えない(実質うまく動かない)。


283:デフォルトの名無しさん
08/02/10 22:38:21
>>269 の言ってることを文字通り受け取ればWeakReferenceは違うのだろうけど、
もしオブジェクトの状態を試験的に追跡したいだけなら、
別スレッドからでIsAliveでポーリングすればいいわけだからあながち間違いとも思えない。

「長い」弱い参照については目的はわからないが確認できた動作は
デストラクタが呼び出された後から確保されたメモリが消失するまでの間も
IsAliveがtrueということだった。
「短い」方はデストラクタが呼び出されたときにIsAliveがfalse。

284:デフォルトの名無しさん
08/02/10 22:44:01
それはきっとファイナライザのことだよね。

285:デフォルトの名無しさん
08/02/10 22:52:26
>>284
おっと.NETスレだった。C#の用語で書いてしまった。
C#のデストラクタ=ファイナライザということで。C++/CLIだと違うのだよな。

286:デフォルトの名無しさん
08/02/10 23:49:13
「復活」させた場合でも追跡したい場合に使うのが「長い」弱い参照。
でも復活自体まず使う機会がない。


287:デフォルトの名無しさん
08/02/11 00:00:30
>>285
C#も2.0からファイナライザという言葉を使うようになりました。

288:デフォルトの名無しさん
08/02/11 00:11:42
>>287
ソースは?

289:デフォルトの名無しさん
08/02/11 00:18:41
>>286
確かにMSDNにそう書いてあるのだけど、
具体的にどうすることなのかが見つけられないんだよね。
復活というのはどうすることなのかサンプルコードとかないでしょうか。

290:デフォルトの名無しさん
08/02/11 00:25:17
マイクロソフト

291:デフォルトの名無しさん
08/02/11 01:40:12
ファイナライザで参照を保存するんだよ>復活


292:デフォルトの名無しさん
08/02/11 18:37:21
HttpWebRequestは同時使用数に制限があるのでしょうか?
例えば下のプログラムをループで回したりすると途中で
操作がタイムアウトになりましたとWebExceptionが発生します。
最後のコメント外してAbortを有効にすると例外はでないのでリソース
競合だとは思うのですが、大量の要求を他に転送するようなシステム
は困りそうな気がします。どうやって回避しているのでしょう?

Sub Test()
Dim req As HttpWebRequest
Dim reqStrm As Stream

req = HttpWebRequest.Create("URLリンク(localhost)")
req.Method = "POST"
reqStrm = req.GetRequestStream()

If Not IsNothing(reqStrm) Then
reqStrm.Close()
End If
'req.Abort()
End Sub

293:デフォルトの名無しさん
08/02/11 18:44:02
同時に同じホストに張れるコネクションの最大値がHTTPの仕様で決まってる。

294:デフォルトの名無しさん
08/02/11 19:13:18
>>293
d。
でも、GetResponse()呼んでればわかるけれど
GetRequestStream()の時点というのは変ではありません?

295:デフォルトの名無しさん
08/02/14 11:01:19
↓@ITのWindowsフォームのコントロールについての説明ですが
URLリンク(www.atmarkit.co.jp)
>言葉の意味としては、ユーザーインターフェースを持ったコンポーネントがコントロールということになる。.
「ユーザーインターフェース」というのは具体的に何を指すのか分かりません。
要するにイベントを持つようなクラスということですか?


296:デフォルトの名無しさん
08/02/14 14:44:38
簡単にいえば、人間からの入力を受け付けたり、出力を行ったりする
人間とコンピュータの接点となるものを意味する概念。

そこの文章では、ようするに画面に何か表示したり
マウス・キーボードなどから人間の入力を受け取ったりする機能を
持っているコンポーネント(≒クラス)がコントロールだと言っている。

297:295
08/02/14 15:09:31
>>296
処理の流れとしては、↓のような感じですよね
「マウス・キーボードなどから人間の入力」⇒イベント発生⇒そのイベントがWindowsメッセージキューに並ぶ⇒イベントハンドラで処理

というか、Controlを継承してるのだからイベントを持つのは当たり前ですよね・・・
つまらない質問してすみませんでした。ありがとうございました。

298:デフォルトの名無しさん
08/02/16 03:58:28
ダイアログボックスのサイズを指定したいんですか、
System.Windows.Forms.MessageBox ではできないんですか?

299:デフォルトの名無しさん
08/02/16 04:12:19
節子、それダイアログちゃう

300:節子
08/02/16 04:16:25
ちゃうでしたっけ?
MessageBox.Showにはサイズ指定できそうなのは無かったス・・・やっぱ無理ぽいですね

301:デフォルトの名無しさん
08/02/18 09:29:48
無理だとわかった瞬間諦めるのが初心者。
そこで継承という考えに行き着けば、初心者を抜け出せる。

302:デフォルトの名無しさん
08/02/18 10:45:37
継承でなんでも出来ると思ってる

303:デフォルトの名無しさん
08/02/18 11:09:05
継承で大概なんでもできるでしょ。

304:デフォルトの名無しさん
08/02/18 11:36:03
継承にせずに、メンバにすべきときもある。

305:デフォルトの名無しさん
08/02/18 11:51:21
メッセージボックスのサイズを変えたいだけなのに、0から作り直せと?

306:デフォルトの名無しさん
08/02/18 12:17:42
継承する意味があまりない

307:デフォルトの名無しさん
08/02/18 12:32:00
ではどのように>>298を解決するんで?

308:デフォルトの名無しさん
08/02/18 12:41:59
Applicationクラスにモーダルに入る時のイベントがあったと思うから、
そのタイミングでWin32APIつかっていろいろやればできるんじゃないの?

309:デフォルトの名無しさん
08/02/18 12:52:46
お 前 汎 用 性 と か 考 え て な い な

310:デフォルトの名無しさん
08/02/18 16:37:22
既定のフォント使って文字列の長さ調べてそれに従ってフォームの大きさ変えて
オプションでボタン変えてアイコン表示して音ならすモーダルなフォーム作ればいいだけ
それに大きさ指定するShowメソッドのオーバーロード作っとけばいいだけ

あとタイムアウトで自動で消えるオーバーロードも作ればなお良し
メッセージを音声合成でしゃべればユーザーフレンドリー
気分によって背景画像変えたり動画ファイルも再生できたりしたら最高

311:デフォルトの名無しさん
08/02/18 18:28:50
>>309
誰もがお前さんのように知恵が足りないと思うなよ馬鹿w
汎用的にする方法なんていくらでもある。

312:デフォルトの名無しさん
08/02/18 20:11:20
メッセージボックスは容赦なく画面をはみ出すすげー奴なんだぜ?

313:デフォルトの名無しさん
08/02/18 20:12:21
カッコいいよな。

314:デフォルトの名無しさん
08/02/19 09:24:26
>>311
「方法はいくらでもある」とかいって、結局抽象的な答えしかできないやつって馬鹿だよね。
うちの上司にもいる。
結局>>298の質問に答えられてないし。

315:デフォルトの名無しさん
08/02/19 09:31:31
なんかうるさい奴だな
継承で実現する方法書いて見ろよ。
おれは>>311じゃないが


316:デフォルトの名無しさん
08/02/19 09:33:48
メッセージボックスてどの程度いじれたっけ?
API使ってもあんまりいじれないってことあったりしない?


317:デフォルトの名無しさん
08/02/19 09:58:05
みなさんは、.NET で開発をして、他の環境で動かなくて
苦労したなどの経験はありますか?
私は2003の時ですが、Frameworkのバージョンを同じにして
SPなどをいれても、途中でエラーで終了してしまうという
ことがおきることがありました。これは2005では改善されていて
ちゃんと動作しましたが、今後このようなことが頻繁に起きる
ようであればその対策も考えなくてはなりません。
みなさんがアプリを作成した時はいかがでしょうか。
よろしくお願いします。

318:デフォルトの名無しさん
08/02/19 11:16:50
そんな確実に起こることだったら、まず自分のプログラムのバグを疑うよ。

319:デフォルトの名無しさん
08/02/19 11:54:15
だな

320:デフォルトの名無しさん
08/02/19 12:00:37
ASP.NET で C# でコーディングをしていますが、
従来で指定していた、using System.Data.OleDB; のコードを書いても
エラーが出てしまいました。
どうやったら、この指定をしたら良いのでしょうか。

321:デフォルトの名無しさん
08/02/19 16:23:03
>>320
どんなエラーが出たか書かないと答えようがない。
可能ならそのメッセージをそのまま詳細にアップ。

322:デフォルトの名無しさん
08/02/19 17:14:45
>>321
ASP.NETでは、usingとかくのではなくて、
<%@ Import Namespace="System.Data.OleDb" %>
と冒頭に書くというルールとなっているようです。
自己解決しました。
ありがとうございました。

323:デフォルトの名無しさん
08/02/19 17:33:23
コードビハインドじゃないってことかよ。

324:デフォルトの名無しさん
08/02/20 01:32:34
VB.NETのMakedTextBoxコントロールで、書式設定された文字列はTextプロパティで取得できますが、
書式設定されていない文字列は取得できないのでしょうか?


325:デフォルトの名無しさん
08/02/20 05:49:59
System.Drawing.Colorの色ってVS上でサクッと確認できないんでしょうか?
PaleGoldenrod とか言葉だけだとイメージし辛いもので

326:デフォルトの名無しさん
08/02/20 15:57:02
ASP.NETの、メリットがいまいち分かりませんので質問です。
開発効率性が良いという話ですが、言語の仕様の他、ASP.NET特有の仕様を
学ばなければならず、すごく労力をかけなければ、Hello World程度の
スキルからなかなか上に上がれないように思えました。

PerlやPHPの方が、言語仕様を覚えるだけで出来ますので、簡単に
見えるのですが。

327:デフォルトの名無しさん
08/02/20 20:05:48
C++.NETで開発ってどうなんですか?
余り聞かないですし、ネットの解説の具体的なコードでも
VB.NET や C# が非常に多く、「C++.NETは特別なので省く」
等と書かれていることが多いです。

328:デフォルトの名無しさん
08/02/20 20:30:04
そういうことだ。

329:デフォルトの名無しさん
08/02/20 20:51:34
>>328
どういうことだ?w

330:デフォルトの名無しさん
08/02/20 22:51:32
てか実際、C#で開発するメリットってなんだろね?
細かく制御したいならC++のがいいし、適当でいいならVBのが簡単だし

331:デフォルトの名無しさん
08/02/20 22:59:40
>>326
ASP.NET仕様単体で見るからそうなる
VisualStudio込みで考えんと

>>327
某制御系で使ったオレが通りますよ
存在価値は旧来のアンマネージライブラリと.NET併用が比較的楽
旧資産が無くなれば廃れる存在だな

332:デフォルトの名無しさん
08/02/20 23:59:07
>>330
そうだな。VBと比べると、無駄と思えるようなコードが表示されていたり、
コーディング中に自動で修正が入らないので、それでエラーが出たり、
間違えてクリックして出来たイベントハンドラを削除したら
エラーになったりとか、不便なところが多いな。
こういう経験をする前は、VBは将来が無いからC#の方が・・・と
思ったりしていたが、便利なVBの方が良さそうに思える。

333:デフォルトの名無しさん
08/02/21 00:08:34
>>331
レスありがとうございます。
> ASP.NET仕様単体で見るからそうなる
> VisualStudio込みで考えんと
VisualStudio自体の機能も関係しているのですね。
そのあたりを中心に調べて見ます。
ありがとうございました。

334:デフォルトの名無しさん
08/02/21 00:19:49
>>332
その問題は2005(C#2.0)で解消されたよ

335:デフォルトの名無しさん
08/02/21 00:21:34
VBで便利と思えてしまうのはヤバくね?

336:デフォルトの名無しさん
08/02/21 00:25:35
>>335
「便利だから利用する」という流れは当たり前だが、「それしか知らない」と
やばいだろうね。過去のCOBOLやVB6専用のプログラマと同じ運命になりかねない。

337:デフォルトの名無しさん
08/02/21 00:28:56
いいも悪いも、C#.NETとVB.NETなら、表面上の文法が違うだけで中身はほぼ一緒と思うのは俺だけか?
個人的にはC#の文法の方が好みだが、実質的な違いは無いような気がするよ

338:デフォルトの名無しさん
08/02/21 00:31:02
>>337
今は、まったくと言っていいほど同じ。だけど、将来は異なる。
どちらかというと、VBの開発モットーは、便利機能をつけてホビー向けと
して販売する方向だから。

339:デフォルトの名無しさん
08/02/21 08:34:51
Σ (゚Д゚;)ハッ この流れもしやDelphiモンリー?


340:デフォルトの名無しさん
08/02/21 08:58:41
>>338
だからってC#が据え置きで、VBにだけ便利機能が付くんだったら、
逆に「やっぱVBが便利」で終わっちゃう
いくらホビー用として売ったって、使えるなら仕事で使っちゃうもんだし
C#にはVBに付かないも〜っと☆便利機能がついちゃったりするんだろうか

341:デフォルトの名無しさん
08/02/21 11:52:22
>>340
仕事でもVBを使っていく流れになると思うよ。
便利機能が沢山ついてくるからね。(何かモジュールをいれないととか、
限定する条件がついてくるかもしれないけれど)

なので、C#の方向性がいまいちわかんないね。中途半端すぎだから。

342:デフォルトの名無しさん
08/02/21 12:01:34
しかし、M$が開発用のモジュールとして使っている言語はC#が多いと聞く。
確か、変数の定義などが厳密だからという理由だったかな。
開発環境を作る為の言語っていう位置づけで役に立っているのは事実のようだw
あとは、Paint.NETだけだな。

343:デフォルトの名無しさん
08/02/21 12:09:27
>【IT】米MS、世界の学生に「VisualStudio2008」「WindowsServer2003」など開発ツールを無償提供へ。ただし日本は含まれず[2/20]
スレリンク(newsplus板:145番)

>「多くの学生はLinuxやApache、MySQL、
>PHPといったオープンソースのソフトウェアを組み合わせてWebサイトを構築するよりも、
>Microsoftの強力なツールを使いたいと思っているはずだ」

             ____
           /      \
          / ─    ─ \
        /   (●)  (●)  \
        |      (__人__)     |  それはない
         \     ` ⌒´    ,/
 r、     r、/          ヘ
 ヽヾ 三 |:l1             ヽ
  \>ヽ/ |` }            | |
   ヘ lノ `'ソ             | |
    /´  /             |. |
    \. ィ                |  |


344:デフォルトの名無しさん
08/02/21 13:15:57
>>342
QTabbarとPowerShell(用のアセンブリ)は普通に便利かと
>>343
どっちかというと削除法でこれしかないって感じですね

ってなんで俺が答える側にw

345:デフォルトの名無しさん
08/02/21 13:17:06
>>340
VBにだけつく便利機能って何よ?

ある程度以上の規模ならVBよりもC#なんじゃないのJK?

346:デフォルトの名無しさん
08/02/21 13:17:56
My

347:デフォルトの名無しさん
08/02/21 13:24:02
「VBにだけ便利機能がつく」という解釈は、誤解を生むんじゃないかな。
「VBのモットーは、開発を手軽に、早くする方向であるので、今後は
その方向性に味が出てくる」でどうよ?w
C#の味を誰か教えてくれw

348:デフォルトの名無しさん
08/02/21 13:40:00
ヒント:誤解で丸め込む

349:デフォルトの名無しさん
08/02/21 13:58:40
(){}[]<>が適度に使える言語であることが冗談でなくCから入った自分としてはかなり大きいです

350:デフォルトの名無しさん
08/02/21 14:20:21
javaやってた俺から見るとC#はかゆいところに手の届くjavaって感じで使いやすい
もうjavaには戻れないかもしれん。。。


351:デフォルトの名無しさん
08/02/21 14:21:43
>>350
kwsk

大体こんな感じの理由からとなるの?
私がJavaからC#に乗り換えた10の理由
URLリンク(www.atmarkit.co.jp)


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4661日前に更新/234 KB
担当:undef