C#, C♯, C#相談室 Part51

952デフォルトの名無しさん:2009/03/30(月) 14:23:11
.NETよりはまし。.NETの検索し難さといったら…
953デフォルトの名無しさん:2009/03/30(月) 14:24:12
でもCとかDよりいいよね
954デフォルトの名無しさん:2009/03/30(月) 14:29:13
Bも忘れないであげて
955デフォルトの名無しさん:2009/03/30(月) 17:53:03
VisualC#2008をインストールして、動作確認の為にWindowsFormsApplication1を
作成したのですが、デバッグ実行すると(0xc0000005)で終了してしまいます。
デバッグなしで実行だと、普通にウインドウが表示されます。

どうやら、プロジェクト名の長さが11文字以上だとこういう現象になるようです。
プロジェクト名が10文字以内というのは、ちょっと不便なのでなんとかしたいの
ですが、対策をご存知の方がいましたら教えてください。
956デフォルトの名無しさん:2009/03/30(月) 17:53:44
今の今まで
C,C++,C#相談室
だと思ってた
957デフォルトの名無しさん:2009/03/30(月) 18:17:06
昔はスレタイに # の文字入れると#が消えちゃってたから
しつこく入れるようになったんだっけかw
958デフォルトの名無しさん:2009/03/30(月) 19:11:59
検索用じゃね?

…と思ったら、1つ目と3つ目がどちらも ASCII のナンバ記号だった。
959デフォルトの名無しさん:2009/03/30(月) 20:04:35
いつもは3つ目が全角のナンバー記号だよ。
次スレ立てる人は気をつけて。
960デフォルトの名無しさん:2009/03/30(月) 22:46:02
この Part51 でそろそろ終わりにしようぜ
961デフォルトの名無しさん:2009/03/30(月) 22:52:12
2ヶ月で1スレ消費するようなペースって事は需要はあるのだろう。
Part51にもなって「そろそろ終わりに・・」ってのは今更すぎないかw
962デフォルトの名無しさん:2009/03/30(月) 22:53:50
>>960
来なけりゃいいんじゃね?
963デフォルトの名無しさん:2009/03/31(火) 00:36:10
スレタイに#を3パターンで書くのをこのスレで終わりしないかといってると上の流れを見ると思うのだが
俺がイカれてるのかな。そう解釈する俺が狂ってるだよなやっぱりそうとしか思えないうん
964デフォルトの名無しさん:2009/03/31(火) 00:51:31
他のC#スレも数パターン使ってるとこあるし、検索用に残しといていいんじゃね?
965デフォルトの名無しさん:2009/03/31(火) 01:44:20
ところでおまいらC#で組んだもの、何に利用してるの? 仕事?
966デフォルトの名無しさん:2009/03/31(火) 01:51:26
研究
まあ仕事だけど
967デフォルトの名無しさん:2009/03/31(火) 01:52:50
俺は趣味でちまちま作ってる。
自分専用の痒い所に手が届くような小規模アプリが殆ど
968デフォルトの名無しさん:2009/03/31(火) 02:27:50
C#で孫の手つくれんの?
969デフォルトの名無しさん:2009/03/31(火) 02:30:22
つまんないよ
970デフォルトの名無しさん:2009/03/31(火) 02:49:21
つまらないものを面白くするのがプログラミングだろjk
971デフォルトの名無しさん:2009/03/31(火) 03:14:15
窓の手ってそういう意味だったのか!素で気付かなかった
972デフォルトの名無しさん:2009/03/31(火) 07:47:06
C井でいいんじゃね?
973デフォルトの名無しさん:2009/03/31(火) 08:29:31
思いっきり仕事だな。
来月あたりに客先とおしてそのユーザーに公開される(´・ω・`)
974デフォルトの名無しさん:2009/03/31(火) 08:57:55
趣味コードは全部C#。
仕事だと、社内ツールの類はC#で書いてる。
975デフォルトの名無しさん:2009/03/31(火) 10:08:11
質問です。
PropertyGridで入れ子になっていて展開可能な項目を自動で展開したいです。
まずExpandAllGridItemsメソッドを調べてみましたが、これはカテゴリの展開専用で意味がありませんでした。
次に、GridItem.Expandedプロパティを見つけ、おおこれこそ捜し求めていたものと歓喜したのですが・・・
PropertyGridからGridItemの一覧を得る方法が分かりません。
SelectedGridItemがあって、なぜGridItemsが無いのでしょうか。
976デフォルトの名無しさん:2009/03/31(火) 10:30:55
SelectedGridItemからParentたどってけば
977デフォルトの名無しさん:2009/03/31(火) 11:12:02
Public Type Struct1
  Member1 As String
  Member2 As Byte
  Member3 As Byte
  Member4(20) As String
  Member5(20, 1340) As Byte
End Type

Declare Function ExpFunc1 Lib "Library1.dll" _
  (ByRef a_Struct1 As Struct1, _
  ByVal a_iNumber1 As Long, _
  ByVal a_iNumber2 As Long) As Long

ソースのない「Library1.dll」とそれを利用するための
上のようなVB6のサンプルがあるんですが、
これをC#(2008/.NET3.5)で利用するにはどう書いたら
いいんでしょうか?

よろしくお願いします。
978デフォルトの名無しさん:2009/03/31(火) 12:49:26
>>972
++
ナ+
になっちまう
979デフォルトの名無しさん:2009/03/31(火) 13:02:09
>>977
C#で参照してみれば?
ラッパクラ出来てインテリセンスきくんじゃないかな?
980デフォルトの名無しさん:2009/03/31(火) 13:19:21
>>979
---------------------------
Microsoft Visual C# 2008 Express Edition
---------------------------
'Library1.dll' への参照を追加できませんでした。
ファイルがアクセス可能で、有効なアセンブリまたは
COM コンポーネントであることを確認してください。
---------------------------
OK
---------------------------

COMじゃないとNGっぽいですね。
981デフォルトの名無しさん:2009/03/31(火) 13:22:24
DllImportでぐぐればいいんじゃね
982デフォルトの名無しさん:2009/03/31(火) 13:23:49
>>980
ごめん、VB6のDLLかと思ってた
VB6はDLLはCOMになるから

そういうことならReflection使ってみては?
色々他にもあると思うけど
983デフォルトの名無しさん:2009/03/31(火) 13:25:08
動的に呼び出しさせて何をさせようというんだ俺は・・・
疲れてんだな
984デフォルトの名無しさん:2009/03/31(火) 17:19:48
>>977
2次元配列のマーシャリングってできたっけ?>識者
985デフォルトの名無しさん:2009/03/31(火) 17:35:29
2次元配列はやったことないけど出来るはずだと思う
986デフォルトの名無しさん:2009/03/31(火) 17:43:20
うお、今調べたら出来ないようだった、もうしわけない。
対策はいろいろあるそうだが、ストレートには出来ないそうだ。
987デフォルトの名無しさん:2009/03/31(火) 18:18:17
とりあえずVB6の知識をひけらかすか

Public Type Struct1 
  Member1 As String 'BSTR
  Member2 As Byte '1バイト
  Member3 As Byte '1バイト
  Member4(20) As String 'UTF16な文字が20文字
  Member5(20, 1340) As Byte 'Option Base 0なら21×1341バイト
End Type

何の役にたつかはしらん
988デフォルトの名無しさん:2009/03/31(火) 18:44:38
>>987
>UTF16な文字が20文字 はこれじゃね?
Member4 As String * 20 

Member4(20) As String はStringの配列21 (Option base によるけど)
989デフォルトの名無しさん:2009/03/31(火) 18:52:13
立てれなかったから誰か任せた

C#, C♯, C#相談室 Part52
------------
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。

前スレ
C#, C♯, C#相談室 Part51
http://pc12.2ch.net/test/read.cgi/tech/1233757615/

Visual C# 2008 Express Edition 日本語版
http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/

その他テンプレ>>2-5くらい
990デフォルトの名無しさん:2009/03/31(火) 18:53:17
「ふらっと」と「VS2008」スレが新スレになってるので更新。
>>3>>5はそのままでおkかな?
-----
関連スレ

ふらっとC#,C♯,C#(初心者用) Part39
http://pc12.2ch.net/test/read.cgi/tech/1237051173/

Visual Studio 2008 Part 15
http://pc12.2ch.net/test/read.cgi/tech/1233853864/

WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3
http://pc11.2ch.net/test/read.cgi/tech/1231506876/

【VB.NET】LINQ友の会【C#, C♯, C#】
http://pc11.2ch.net/test/read.cgi/tech/1202568694/

C#,C#の宿題片付けます。
http://pc11.2ch.net/test/read.cgi/tech/1197620454/
991デフォルトの名無しさん:2009/03/31(火) 18:53:59
>>987,988
参考になります。
Option Base は無指定ですので、0ですかね。

UnmanagedType.BStr をヒントにもう少しトライしてみたいと思います。
992デフォルトの名無しさん:2009/03/31(火) 19:15:52
VB、C#混合になってしまうが
VB6で>>877の標準モジュールを含むプロジェクトを作って
VB.NETのアップグレードウイザードにかける。

やってみたがTODOが残るな・・・これもで手を入れないといけないようだ。
993デフォルトの名無しさん:2009/03/31(火) 19:18:16
VB6もC#も中途半端な知識しか持っていないけどこんな感じではないのか、と質問していい?
unsafe struct Struct1
{
[MarshalAs(UnmanagedType.LPStr)]
string Member1;
byte Member2;
byte Member3;
[MarshalAs(SizeConst = 21)]
string Member4[];
fixed byte Member5[21 * 1340];
};

[DllImport("Library1.dll")]
static extern int ExpFunc1(ref Struct1 a_Struct1, int a_iNumber1, int a_iNumber2);

unsafeが嫌なら
[MarshalAs(UnmanagedType.U1, SizeConst = 21 * 1341)]
byte Member5[,];
としてMember5 = new byte[21, 1341];
994デフォルトの名無しさん:2009/03/31(火) 22:01:27
>>988
そうだった
すっかり知識が抜け落ちてて愕然
995977:2009/04/01(水) 09:48:39
UnmanagedType.LPStrとか
UnmanagedType.BStrとか
UnmanagedType.ByValArrayとか
いろいろ試しましたが、どうにもうまく行かないので、
もう諦めてVB6でラップDLL作ってそれをC#で参照して
使うことにしました。
VB6のデバッガでもう少し粘るといいのかもしれませんが
これで妥協しました。

いろいろありがとうございました。
996デフォルトの名無しさん:2009/04/01(水) 09:55:35
MSDN見たか?まあ解決したならいいか
997デフォルトの名無しさん:2009/04/01(水) 10:17:26
998デフォルトの名無しさん:2009/04/01(水) 10:58:25
>>996
MSDNは 見まくり ですね。。

解決というか 逃げ ですけど、とりあえず
やれることはやれるようになったので。

VB6側の状況がよくわからずに
やみくもにやってもダメですね。
暇ができたら、ダミーの Library1.dll を作って
VB6から呼んでみて、中がどうなってるのか
確認してから再挑戦してみたいと思います。
999デフォルトの名無しさん:2009/04/01(水) 12:33:10
MSDNよりPInvoke
1000デフォルトの名無しさん:2009/04/01(水) 13:14:28
1000いただきまーす♪
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。