C#からMozilla(Gecko-ActiveXコンポーネント)を使う方法
C:\> AxImp.exe "C:\Program Files\Mozilla\mozctl.dll" /source
C:\> type GeckoTest.cs
using System;
using AxMOZILLACONTROLLib;
using System.Windows.Forms;
public class GeckoTest {
[STAThread]
public static void Main() {
AxMozillaBrowser gecko = new AxMozillaBrowser();
Form form = new Form();
form.Controls.Add(gecko);
gecko.BeginInit();
gecko.EndInit();
object arg1 = 0; object arg2 = ""; object arg3 = ""; object arg4 = "";
gecko.Navigate("www.google.co.jp", ref arg1, ref arg2, ref arg3, ref arg4);
System.Windows.Forms.Application.Run(form);
}
}
C:\> csc /r:AxMOZILLACONTROLLib.dll Gecko.cs
C:\> GeckoTest.exe
>>726 寝る前にこれ見たらやってみたくなって、mozillaダウンロード中...。
10MBもあるのか…。ISDN(;´Д`)キツイ
>>727 うまくいったら報告してくだしぃ(*゚ー゚)
こちらの環境はWindows2000+Mozilla1.2.1です
Geckoコンポーネント(AxMOZILLACONTROLLib)はIEコンポーネント(AxSHDocVw)とほとんど同じみたいです。
例えばステータスバーに表示すべき文字列もIEコンポーネントと同じように
gecko.StatusTextChange += new DWebBrowserEvents2_StatusTextChangeEventHandler(Hoge.StatusTextChanged);
としておいて、
private void StatusTextChanged(object sender, DWebBrowserEvents2_StatusTextChangeEvent e)
{
System.Console.WriteLine(e.text);
}
を用意すれば取れました。(また一つおもちゃが増えたな)
>>730 おめ。良ければどのバージョンのMozilla使ったか教えて欲(*゚ー゚)しぃ
起動時のエラーって「ダイナミックリンクライブラリが指定されたパスに存在しません」ってやつ?
こっちではMOZILLACONTROLLib.dllが同じフォルダにあればちゃんと動くようです。
1376.lzh落とせない(´Д⊂
>このディレクトリは、外部からの直接アクセスを禁止しています。
って。
>>731 リファラチェックしてるだけだと思うので、コピペしる。
1.3releaseでもできたよ。
>>732 なんかMozillaで落とせない気がする。referrerじゃなくてuser-agentかなあ。
>>732 >1.3releaseでもできたよ。
報告ありがd。ちゃんと新しい版にも追従してるみたいね(*゚ー゚)
実はこれをJavaに埋め込みたいのさ。
(Java Embedded(webclient)は消えてったから難しそう)
Geckoって窓でも犬でもまともに動くからちょいとOS依存部分をラップして
((=゚Д゚=)ノ ドコデモWebClient作ろうかなと。
でもGeckoスレが落ちちゃってて(´・ω・`)ショボーン
>>726 今更だけど訂正(どうでもいいんだけど
C:\> csc /r:AxMOZILLACONTROLLib.dll Gecko.cs
C:\> csc /r:AxMOZILLACONTROLLib.dll GeckoTest.cs
>>730 IEで落としました(アリガd
>>732)
ちゃんとブラウザになってるね(*゚ー゚)
#誰かJavaEmbedded作って つД`)
>>731 あ、書くの忘れました(w
Win2000、Mozilla 1.4b
キタ━━━━━━\(T▽T)/━━━━━━ !!!!!
Java Embedded動いたー!
これでC#でもJavaでもMozillaが使える!疲れたよ(´Д⊂ママン
スレ違いsage
740 :
デフォルトの名無しさん:03/04/09 00:12
OleDbについて教えてください。
mySQL4.0を使っています。
以下のソースでDataSetに値を入れようとしているのですが、
コメントアウトしてあるほうのSQLだとFillのところでエラーになってしまいます。
DataSetに入れる場合のSQLの制約などがあるのでしょうか?
//string cmd = "select * from tbl where id='aaa' and address like 'あ%'"
string cmd = "select * from tbl where id='aaa'"
DataSet dataSet = new DataSet();
String conStr = "Provider=MySQLProv;Data Source=mysql;";
OleDbConnection oleDbConnection = new OleDbConnection(conStr);
OleDbDataAdapter oleDbDataAdapter = new OleDbDataAdapter(cmd, oleDbConnection);
dataSet = new DataSet();
oleDbDataAdapter.Fill(dataSet,"tbl");
エラー情報 : E_FAIL(0x80004005) がありません。
説明 : 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。
例外の詳細: System.Data.OleDb.OleDbException: エラー情報 : E_FAIL(0x80004005) がありません。
741 :
デフォルトの名無しさん:03/04/09 03:20
もじらって何ですか?
しばらく見ない間に面白そうな話が。
もれも試してみようかな。
・・・MozillaDLしなおさなきゃ。
ところでコンボボックスのバギーな挙動は1.1で直った?
性的メンバに非性的メンバ関数からでもアクセスできるのがちょっとイイかも。
IISLockDown/URLScan導入後、urlscan.iniの
[AllowVerbs]セクションにDEBUGを追加しないと
VS.NETでデバッグできない。
>>736 細かい事いうけどMozilla 1.4aだよな
>>745 Helpのバージョン情報を確認すると、
-------------
Mozilla 1.4b
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4b) Gecko/20030407
-------------
と書いてあります。。
>>746 レスサンクス
どこみても1.4bが落とせないからちょっと焦ってた。
1.1(英語版)リリーーーーーーーーーース!
Aximpする前に、
regsvr32 mozctlx.dll
してやる必要ありますよね?
近年まれに見る地味なリリースだな
>>753 派手にやるとそれに気づいたstandardユーザーが怒り出すからでは。
結局アップデートできないんでしょ。
VS.NET 2003(英語版)も出てますな。
756 :
デフォルトの名無しさん:03/04/11 07:44
お前らもう少し祭れ!
Academic ユーザもショボーンですか
C++とソースコードレベルでほぼ互換なBinaryReader & Writerないですかね。
いちいち読み込み書き込みをC++に対応させるのが面倒なんです。
Terrariumまだやってたのか・・・
C#の腕もあがったし、久しぶりにやってみるかな
Hippo.NET
http://hipponet.sourceforge.net/ Current features
・Client/server model
・Trigger build from remote clients
・Implements the build process proposed by Microsoft
・Automatic build number updates in AssemblyInfo files
・Build history information
・Current activity information
・Fully configurable
・Rich Windows Forms UI
Future features
・Multiple projects
・Event notification, eg. MSN Messenger style
・Scheduled builds
・Automatic builds after changes
(・∀・)ヒッポ!
765 :
デフォルトの名無しさん:03/04/12 03:12
C#で、Winampみたいなタイトルバーのないアプリケーションを作りたいのですが、
どうしたらできるのでしょうか?
フォームのControlBoxプロパティをfalseに、Textプロパティをnullに。
やれやれvs.net 2k3 落とさないとな。
まあいいかmsdn回線速いしな。
まあ、数ヶ月もすればYukon版MSDEに置き換わるんだろうし。
772 :
__多言語対応について__:03/04/13 23:03
質問があります。
C#に限った質問ではありませんが、メニューその他ラベルに表示する文字を
他の言語に切り替えるのはどのようにすればいいのでしょうか?
チェックつきメニューに言語を選択できるようにしておき、該当言語に
チェックをつけると表示が変わるのがありますが、1つ1つのコントロールごとに
if (mnuEnglish.Checked){
control1.Text="Up";
control2.Text="Down";
こんなぐあいで変更させるのですか?もっとうまい例があるのでしょうか?
OSや処理系のサポートがあるならそれを使う、なければ自分でがんばる、
が一般論かなあ。.NETだとリソースに埋め込むんでねーの、よくしらんけど
リソースに埋め込んでさくっとカルチャー切り替え。
776 :
デフォルトの名無しさん :03/04/14 22:42
WinError.h ミレ
英語版、えらくサイズが小さいんですが、1.0もこんなもんでしたっけ?
782 :
デフォルトの名無しさん:03/04/16 05:55
C#にclass a{}
a* A;
a* B;
*B=*A;
みたいな*演算子のかわりはないのですか?
インスタンスのコピーとるときみんなどうしてるんですか?
Copyメソッド作って中にあるデータ全部コピーするんですか?面倒くさいじゃないですか?
*演算子ってなんだよ?(藁
784 :
デフォルトの名無しさん:03/04/16 06:44
すいません、C#しか知らない人にはきいてません。C++も知ってる人がいてくれるといいのですが。
>>782 IClonableを実装して、その中で MemberwiseClone() を呼ぶのが常套手段かと思われ。
786 :
デフォルトの名無しさん:03/04/16 07:28
>785
やはりそのようにするしかないのですか。わかりました。どうもありがとうございます。
Deep Copyの場合はフィールドのCloneもお忘れなく。
788 :
デフォルトの名無しさん:03/04/16 13:02
SharpDevelopでxxx.exe.manifest使わずに
XPスタイルを有効にする方法ってないでしょうか?
789 :
デフォルトの名無しさん:03/04/16 15:39
Formをリサイズしたときに
MainMenuがちらつかない
ようにすることはできるのでしょうか?
>>789 どんな風にちらつく?
うちは全くちらつかないですが。
791 :
デフォルトの名無しさん:03/04/16 15:57
英語版のSDK1.1がうまくインストール出来ないんですが。
SDK、Sample、Documentationの項目をチェックするところで、全部チェックしてるのに、
「Documentationだけチェックしてますね、SDKも入れて下さい( ̄ー ̄)」
って警告されてそこから先に進めないんですが、どうしたらいいでつか?
792 :
デフォルトの名無しさん:03/04/16 16:03
>>790 Form作成後に MainMenuのコントロールを配置してメニューに
テキストを入力(例 Test1, Test2, Help)。ビルドして
Formをはげしくリサイズすると、文字がちらついてしまう。
IEとかVS.NETのメニューはちらつかないけど、
普通のアプリはちらつくみたいだから
カスタムコントロールとかで作るしかないぽいか...。
>>788 リソースにmanifestを入れればいい。
>>793 ためしにForm作成して確認してみたけど、平気だった。
画面のプロパティで「ドラッグ中にウインドウの内容を表示する」にチェック入れたり、
ResizeRedrawをtrueにしてるとか、リサイズごとにRefresh()またはInvalidate()呼んでるとか、
コレなら微妙にちらつくけど、それ程気になる物でもないし違うかね。
普通のアプリまでちらつくんじゃ、環境のせいではないかと言ってみたり。。
>>791 うん。おいらもそうなった。
でもね、.NET Frameworkアンインストールして、再起動。
Redistribute版1.1をとりあえず先にインストール
んで、から1.1SDKインストールしたらちゃんと入ったよ。
ついさっきだけど。
System Requirements
・Supported Operating Systems: Windows 2000, Windows Server 2003, Windows XP
・You must install the .NET Framework Redistributable Package version 1.1
prior to installing the Microsoft .NET Framework SDK version 1.1.
ほんまや。ちゃんとダウンロードページんとこに書いてあるやん。
799 :
デフォルトの名無しさん:03/04/17 00:38
>>794 早速やってみましたが、以下の2通りの方法のどちらもダメでした。
1)プロジェクトツリーの[リソースファイル]の右クリックでリソースの追加で
Manifestファイルを追加
2)[ファイル][新規作成][ファイル]で[MISC]カテゴリの[空のリソースファイル]
で作成したhoge.resourcesを上記方法でリソースファイルに追加、その後
リソースの編集ウインドウで右クリック[ファイルの追加]でManifestファイルを追加
(System.Byte[]型になっている)
Manifestファイルをexeのところにおいて置くとOKなので、Manifestが間違っている
わけではないようです。またコードはUTF-8で保存しています。
リソースへの追加の仕方を詳しく教えていただけませんでしょうか。
801 :
デフォルトの名無しさん:03/04/17 01:15
802 :
デフォルトの名無しさん:03/04/17 01:23
>>800 あ、1.1ならその手があるんですね。
日本語もさっさと出してほしいなぁ。
英語版と日本語版の違いってヘルプだけ?
803 :
デフォルトの名無しさん:03/04/17 06:38
テラリウムやってる奴いる?
>>799 Managed ResourceじゃなくてWin32 Resourceとして追加しないとダメ。
(^^)
806 :
デフォルトの名無しさん:03/04/17 19:14
age
808 :
デフォルトの名無しさん:03/04/17 23:57
>>804 /win32resですよね。
どうもこれってSharpDevelopのIDEから指定できないみたいなんですよ。
プロジェクト設定のどこにもコマンドラインオプションを
手入力できるところがないという...。
で、コマンドラインでビルドしたらうまくいきました。
とりあえずSharpDevelop上ではあきらめます。
>>800 > Application.EnableVisualStyles();
これってマニフェストなしでVisual Styleが有効になるってこと?
Win32アプリではできないのかな?
>>810 .NET FrameworkのAPIだってば・・・。
>>810 だから究極的にはどこかでAPIを呼び出してるのかと
∧_∧
( ^^ )< ぬるぽ(^^)
∧_∧
( ^^ )< ぬるぽ(^^)
>>812 ただ単にランタイムが代理で manifest ファイルを使ってるだけだよ。
v.1.1.4322 フォルダにある XPThemes.manifest というやつ。
このファイルを別の場所に移動すると Visual Style が利かなくなる。(藁
818 :
デフォルトの名無しさん:03/04/20 22:16
System.Net.CredentialCacheのAddメソッドについて質問です。
認証必要なエロサイトから、ファイルをDLするプログラムを書いているのですが、
IEではアクセス可能なURLが、ソースで実行すると、401(認証されていません)の
エラーが返ってきます。
行1:NetworkCredential myCred = new NetworkCredential("UID","PWD");
行2:CredentialCache myCache = new CredentialCache();
行3:Uri uri=new Uri("エロサイト");
行4:myCache.Add(uri,"Basic", myCred);
行5:WebRequest req = HttpWebRequest.Create("エロ動画のURL");
行6:req.Credentials=myCache;
行7:HttpWebResponse res = (HttpWebResponse)req.GetResponse();
↑ここの行で、401が返る。
ユーザーID、パスワードは合ってます。ソースで、工夫の価値があるのは、
行4:myCache.Add(uri,"Basic", myCred);
の、"Basic"の場所だと考えたのですが、そもそも、ここの引数の値の意味が
HELPを見ても、全然分かりません。
ここには、他にどの様な値を入れる事が出来るのか、値の意味又は、他の設定値の
一覧等が載っている場所があれば教えて頂けないでしょうか?
宜しくお願いします。
>>818 とりあえず、入れられる値の一覧。
意味については、・・・簡潔に説明できる代物では・・・。
using System;
using System.Collections;
using System.Net;
class Test : IEnumerable {
IEnumerator IEnumerable.GetEnumerator() {
return AuthenticationManager.RegisteredModules;
}
static void Main() {
foreach (IAuthenticationModule module in new Test()) {
Console.WriteLine(module.AuthenticationType );
}
}
}
(実行結果)
Digest
Negotiate
Kerberos
NTLM
Basic
>>818 machine.configの
//configuration/system.net/authenticationModules に登録されてるやつ。
っていうか、CredentialCache使う必要あるのかな?
普通に req.Credentials = new NetworkCredential("UID","PWD"); だとどうなる?
>>818 そもそもそのサイトはBasci認証でいいのか?
401Responseの返答結果見てみろよ。
Digestというオチかな?
>>818 ちなみに複数返ってきてる場合はどれでもいいぞ
>>819-824 レスありがとうございます。
>>819 Kerberosを見た時に、ちょっと意味がわかりました。認証方式の名前
なんですね。REDHAT入れる時に出てきますね。でも、何の認証方式かなんか、
まさか向こうは教えてくれないでしょうね。
>>820 ありがとうございます。今度見てみます。と、言いますか、なぜそんな
事まで知ってるんでしょう。凄いですね。
>>821 残念ながら、そのやり方でも同じエラーで終わりました。
認証では、そんな単純なコードでもいけるんですね。
>>822 すいません。「返答結果」の見方が分かりかねます。エラーオブジェクトのスタックは
at System.Net.HttpWebRequest.CheckFinalStatus()
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Net.HttpWebRequest.GetResponse()
でした。
>>823 それが、819さんの実行結果を入れてみましたが、全部駄目でした。
>>824 複数とはどこの事を指しているのでしょうか?
質問時には、ぼやけますので省略しましたが、このサイトが、
普通の認証サイトと違って、クセのあるサイトです。
>>825 >「返答結果」の見方が分かりかねます。
エラーメッセージ関係ないよ。そのサイト自体が送ってきてるデータ。
telnet でHEADアクセスしてHTTPレスポンスヘッダ見るのが簡単
WWW-Authenticateっていう行
>>827 リクエストヘッダにHostの設定とかやってんの?
>>827 > サーバーには同じものが飛んでいっているはず
どうやって確認したの?
パケットキャプチャしてみた?
実はクッキーが入ってたりしない?
>>826 アドバイスありがとうございます。
TELNETは、単にUNIXサーバーとのやりとりにしか使ったことが無かったので、今日
仕事中に色々調べたり、実験してたのですが、例えば
telnet www.yahoo.co.jp 80 としても、IPが違うセグメントなので、ログイン
出来ません。そこの部分がまだ理解出来ていないので、取得結果はもう少し
待ってください。
アドバイスの内容は良く分かります。職場で開発中のWEBシステムの、APサーバーに
やってみたら、上手くいきました(W
>>828 まだその段階までこぎつけていません。もう少々お待ち下さい。
>>829 レス内容を見た瞬間、「ああ、これや。」と、気づきました。
そうですね。私の中で、ブラインドになってました。
勿論、パケットキャプチャは、生まれて一度もした事が無いですし、
やろうともした事無いですし、その言葉自体、初めて耳にしました。
でも、今回を機に、やってみたくなりました。
ソースは以下の様に変更しました。
行1:HttpWebRequest req = (HttpWebRequest)WebRequest.Create(エロ画像のURL);
行2:req.Credentials=myCache;
行3:req.CookieContainer = new System.Net.CookieContainer();
行4:req.CookieContainer.Add(new Cookie("?","?","?","?"));
行5:HttpWebResponse res = (HttpWebResponse)req.GetResponse();
つまり、行4で出来ているクッキーの内容をぶち込めばいいと考えました。
(クッキーは確かに出来ていました。)
ただ、クッキーは、文字もありますが、数字の羅列なので、意味がわからず、
>>830のレスを打ってから、クッキー周りの調べものを、せっせとしてました。
飯も食ってましたが。
そして、サイトの「猿でも分かるクッキー」系のサイトで、ゼロから
勉強したのですが、IEのクッキーは、どうも、.txtと書いている割には、
数字で値の部分を変換している様に見えます。
このクッキーの値を読み解く事は、セキュリティがらみで無理なのでしょうか?
>>831 レスありがとうございます。明日、職場で試します。おやすみなさい。
Don Box氏に続いて、Chris Sells氏までとうとうMS入り。
そのうちDevelopMentor丸ごと引き抜かれるのでは。(w
>>818 そのエロサイトって、ダウンロードURLからリダイレクトしてない?
認証はリダイレクト先には適用されないから、
リダイレクトを検出するようにしないとハマるよ。
# つか、同じようなもの作ろうとしてハマった。
838 :
デフォルトの名無しさん:03/04/22 19:56
MSからのメールがキター!
> ===== Visual Studio .NET 2003 ご提供のお知らせ====
>
> MSDN サブスクリプションにご加入いただき、誠にありがとうございます。
> お客様の MSDN サブスクリプション有効期限はすでに満了しております。
> 通常であれば、MSDN サブスクリプション有効期限が満了後に提供を開始した
> ソフトウェアは入手することができません。
>
> このたび、MSDN サブスクリプション有効期限が満了している皆様にも特別に、
> 6月30日までにお申し込み Web サイトよりご登録いただければ、Visual Studio
> NET 2003 のみご提供する予定です。ただし、ご提供時期は未定です。
そ、そんなバカな!!
>>835 ・・・・。そうですね。URLは深いですね・・・・・。
結局、
>>835さんのアドバイスに基づいて、ソースをいじくると、成功しました。
成功したソース↓
System.Net.NetworkCredential myCred = new NetworkCredential("92IEyS0XzWmZM","8cADnTEy3g52w")
CredentialCache myCache = new CredentialCache();
myCache.Add(new Uri("
http://グローバルIP"), "Basic", myCred);
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("
http://92IEyS0XzWmZM:8cADnTEy3g52w@グローバルIP/hfbc/charisma/photos/images/charisma_HFBC_001.jpg");
req.Credentials=myCache;
HttpWebResponse res = null;
res = (HttpWebResponse)req.GetResponse();
まず、このサイトは、ログインすると、私に対して、別のユーザーID、パスワードを
設定し、それが、この場合、UID=92IEyS0XzWmZM PWD=8cADnTEy3g52w
となります。で、これをCredentialCacheに叩き込みます。
次に
>>836さんのアドバイスに絡んで来るのですが、確かに、このサイトは、
IEでやると、リダイレクトをかけています。さらにクッキーでExpiredを入れてるみたいで、
暫くしてから、コンテンツのURLを見ると、
http://ユーザー:パスワード@グローバルIP
とはなっておらず、
http://グローバルIP〜になっており、IEで直で叩くと、知らないIDがデフォルトで入っている
パスワード認証画面が出てきて、アクセスできなくなります。
・・・。ほんま、エロサイトですよね?なんで、そこまでするかな。
WEBサイトは、仕事で作っていますが、他人が作ったWEBサイトを逆に辿ってみて、
自分のWEBに絡む無知さが良く分かりました。
皆さん、色々アドバイスして頂き、ありがとうございました。
>>842 for win32だったら買うのにな。
見た感じvs.netより激しく(・∀・)イイ!! ってとこ無いみたいだけど。
>>842 どうでもいいが、ツールパレットがカラフルで気に入った(w
>>842 ツールパレット禿しく(・∀・)イイ!!
MS製なんだか使いにくかったんだよなぁ
終わったな・・・
847 :
デフォルトの名無しさん:03/04/23 22:35
質問です。
いま、情報管理部にいて、各部署の端末にファイルを転送して転送後にメッセージを表示する
アプリケーションを社内用に開発(簡単なユーティリティとして)しています。
listboxで端末を選択後、別のlistboxにドラッグドロップされたファイル名を
拾い、SHFileOperationでファイルコピーしています。ログオンはAdministrator
のパスワードをアプリに持っており(外部xmlファイル内にdesで暗号化して)、
WNetAddConnection2A apiで送信先端末にログオンした後ファイル送信(コピー)、
NetMessageBufferSendでメッセージを送信、接続切断。という間抜けな処理
をしています。
これをログオンせずにWNetAddConnection2A apiなしでソケットを使って
行うにはどのようにすればいいのでしょうか?
上の方法では送信先にサーバアプリケーションが無くても一方的にファイル送信後
メッセージ表示ができて便利なんですが、メッセンジャーサービスで表示させるため
受信メッセージをテキストで残す事が出来ません。
IPメッセンジャーのようなことがしたいのです。しかし会社ではIPメッセンジャーの
インストール許可がおりません。作れと言われました。
よろしくご指導願います。
>>848 >マルチに関わるとろくなことがない。
そうかな?
MSDNサイトリニューアル。慣れない・・・。
WindowsUpdateに1.1が。
852 :
デフォルトの名無しさん:03/04/24 12:19
853 :
bloom:03/04/24 12:26
英語版SDK1.1って、CDRに焼いて別のHDDにもインストールしようとするとエラー出るのね。
ファイルが壊れてるとかなんとか。HDDごとにダウンロードしろと?
つーかファイルが壊れてるんじゃないの?焼いたときに。
csc /? ってやっても英語なんですけど・・・。ほんとに日本語版?
Language Packが正式リリースされたのはまだ日本語版だけらしい。
それよりSDKのほうを早くしてくれ・・・
860 :
デフォルトの名無しさん:03/04/26 00:57
1.0でビルドしたバイナリは1.1ランタイム上で動かないのですか?
試したくても試せないのです。
動きます
運が良ければ
863 :
デフォルトの名無しさん:03/04/26 07:50
DataSet.ReadXml(filename)って感じで400件程度の簡単なxmlファイルを
読み書きさせてみたのですが、猛烈に遅いです。800MHzのPCで45秒くらい。
1レコードの項目数は8個くらいしかありません。
DebugからReleaseにしても時間は変わらず。
同じファイルをExcelに読ませてみたら5秒くらいでした。
そういうものなのでしょうか?
そういうもんです。
865 :
デフォルトの名無しさん:03/04/26 07:58
>>863 xlsファイルをcsvに変換して、Excelに読み込ませてみましょう。
866 :
デフォルトの名無しさん:03/04/26 08:10
ぬるぽ ガッ
867 :
デフォルトの名無しさん:03/04/26 08:20
フォルダに対して
NTFSのアクセス権
(ユーザー単位で書き込み・読み込みを制御できるやつ)
を設定したいのですが
どのAPIを使えばいいでしょうか?
869 :
デフォルトの名無しさん:03/04/26 23:37
>>860 指定しなければ、1.1の入った環境でも1.0で動作するけど、そのこと?
#1.1だけ入ってる環境だとどうなんだろ?
とりあえずxxxx.exe.configで1.1で動作するように指定すれば1.1で動くはず。
月曜日に会社で試します。
自宅のPCにはVSを入れてないので…。
872 :
デフォルトの名無しさん:03/04/28 00:12
>>870 >#1.1だけ入ってる環境だとどうなんだろ?
↑ここが激しく知りたい・・・
By default, upgrade behavior for Windows Services, Windows Forms,
and console applications installed locally is as follows:
A version 1.0 application installed on a system with only version 1.1 of the .NET Framework
present will try to run against version 1.1 unless the administrator explicitly disallows this behavior.
A version 1.0 application installed on a system with both 1.1 and 1.0 of the Framework
will run against 1.0 unless an administrator changes this behavior.
A version 1.1 application installed on a system with both 1.1 and 1.0 of the Framework
will run against 1.1 unless an administrator changes this behavior.*
A version 1.1 application installed on a system with only 1.0
will not run unless an administrator changes this behavior.*
ttp://msdn.microsoft.com/netframework/productinfo/versioncomparison/default.aspx
>>873 VBのランタイムとあんまかわらんのかも・・・
両方入れてないとだめとはね。面倒くさ。
>>874 1.0でしか動作しないアプリだったら両方入れる必要があるかもしれないが
大抵のアプリは1.0のSDKで作っても1.1で動くのでは
876 :
デフォルトの名無しさん:03/04/28 17:41
SOAPメッセージをトレースしたいのですが、(テキストに落としたい)
みなさんどうやってます?
MSSoapT(MS SOAP Toolkitのトレースツール)を試してみたのですが、
.NETだとうまくいかなくて。。
SoapExtensionを使ってコードを書けば出来たのですが、
何かツール等あれば教えてください。
よろしくお願いします。
>>874 そんなことどこにも書いてない。
>>873はこれ以上無いってくらいまともな対応。
英語ぐらいよめ。
Dll Hellみたいなことにならないといいね。
完全を期すなら両方入れとけってことでしょ.
少しでも不安あるなら[VBと同じ]って言われても仕方ないんじゃないの.
>>879 ごめん、煽りじゃないんですよ.不安なもので・・
XmlWriteMode.WriteSchema、試してみました。
結果は全く変わらず。1秒も速くなりませんでした。
しょうがない、XMLはあきらめるか…。
ていうか、この速度じゃ.iniファイル代わりにしかならないのでは?
これでデータを保存したり送受信したりするようなアプリやシステムを
実際に作ってみた人の意見をきぼんぬ。
.net remotingでファイルの転送って出来るの?
>>879 > 少しでも不安あるなら[VBと同じ]って言われても仕方ないんじゃないの.
それはすべてのランタイムライブラリ、DLLやsoが
VBと同じと言っているのと同じだぞ。
>>878 英語読んだか? あれならDLL Hellにはなりそうもないね。
簡単に要点だけ訳してよ。
873のやつ?
1.1のみの環境で1.0用アプリを動かすと、1.1のランタイムで動く。(*)
1.0と1.1の両方入ってる環境で1.0用アプリを動かすと、1.0のランタイムで動く。
両方入ってる環境で1.1用アプリを動かすと、1.1のランタイムで動く。
1.0のみの環境で1.1用アプリを動かすことはできない。
(*)のところでDll Hellが起こるかも!?
>>886 でしょ。俺の英語力のせいじゃなかったんだな。
>>886 そういうのは DLL Hell とは言わない罠
DLL Hell とは DLL の新旧バージョンの違いに依存しているのに
切り分けが出来ないことが問題。
しかし .Net では切り分け出来るようになったので
DLL Hell とはならない(はず)。
889 :
デフォルトの名無しさん:03/04/29 02:17
Configで、1.0のランタイムを使うように指示しておけば、共存環境でも
1.0のランタイムが使われる、と。
>>888 うん、言わないね。
.NETの対策はいい方法だよ。
これ以上のものは無いでしょ。
>>887 英語以前に、DLL Hellに対して知らなすぎと言うことがばれただけだね。
でだ。.NET 1.2 や 1.3 が出たときにどうなるか。なんだな。
.NET Framework 以外にも 3rd party アセンブリは出てくるわけだし。
v1.0 のバイナリが再コンパイルしなくても v1.1 のみの環境で動くのは
「たまたま」MS が v1.1 に v1.0 用の互換レイヤーを入れているからに過ぎない。
本来、アプリケーションに v1.0 のアセンブリを同梱させて配布するべきところなんだよ。
v1.1 が提供していない v1.0 のアセンブリを使っている場合には古いアセンブリを入手
する必要がある。
いわゆる DLL Hell と異なり、プログラマーか状況をコントロールできるようになったけど、
それだけで、本質的な問題である「バージョン違いの共有ライブラリの管理」そのものは解決していない。
一歩前進。といったところか。
何で、静的リンク/単体 EXE を作れるようにしなかったんだろう。
> 何で、静的リンク/単体 EXE を作れるようにしなかったんだろう。
はぁ? これが出来ないからこその、再度倍再度導入なんですが。
今までのアプリなら、静的リンクで配布サイズを最小限に出来た。
共通部分はDLLでと思うなら、配布サイズは大きくなるがDLLを添付して、
アプリのフォルダにDLLを置くことで、DLL Hell を回避できた。
.NET Framework は静的リンクは出来ないし、サイズがでかくて
配布もきついしアプリのフォルダに置くのもきつい。
苦肉の策として、サイドバイサイドが不可欠だったわけだ。
それでもユーザーが、全てのバージョンの.NET Framework を
インストールしていなければ、開発者としては安心できないよな?
>>893 >再度倍再度
うーん、絶妙な当て字だな。
倍倍でファイルの量が増えていくと。
あるライブラリがあって、そのバージョンがあがる場合、
下位互換を保ちながらあげられる場合と下位互換を保つことなくあげられる場合がある。
下位互換を保つことなくあげられる場合、下位バージョンのライブラリで動くプログラムのために、
下位のライブラリが必要になる。(下位互換性がある場合は上位のライブラリのみでOK)
つまり、この場合、Ver2.0が出ようがVer3.0が出ようが、
あるプログラムがVer1.0を前提に作られたものの場合、Ver1.0のライブラリが必要になる。
とりあえず必要なライブラリ等は全部配布するという方針であれば、
自分のプログラムは動く、他人のプログラムに悪影響は与えないわけだね。
>>895 実際には、全てのプログラムがサイドバイサイドの指定をしているとは限らないわ
けだよな。で、自分のプログラムをインストールしたユーザーが、今まで動いてい
サイドバイサイドを指定していないプログラムが動かなくなることもある。「お前
のプログラムが悪いんだろ!」とかなるかもな。
> v1.1 が提供していない v1.0 のアセンブリを使っている場合には
> 古いアセンブリを入手する必要がある。
具体的に何のことですか?
>>897 無くなることはないわな、互換性の問題だろ。
> .NET Framework 以外にも 3rd party アセンブリは出てくるわけだし。
これもよくわからない。
再度倍再度で問題無いだろ
予想の話はヤメレ
実例をあげてくれよん
DLL Hell"みたいな"ことに"ならないといいね"って書いたのに。チッ
新バージョンを入れても今動いてる環境を壊さないというのがSxSの趣旨でしょ?
新バージョンが旧バージョンと下位互換があるかはまったく別の話。
>>896 > で、自分のプログラムをインストールしたユーザーが、今まで動いてい
> サイドバイサイドを指定していないプログラムが動かなくなることもある。
具体例をどうぞ。
>>903 たんに、新しいバージョンを見るようになるって話じゃないの?
正直、再度倍再度より静的リンクサポートしてほしいね。
配布時に、ライブラリの添付なんて考えなくて良くなるしさ。
もそもそ
これってMarshalByRefObjectだから使えるテクってこと?
>>909 そです。Remotingのインフラを使ってるので。
.netランタイムがあれほどでかくなかったら、
どうぞ全バージョン入れてくださいってユーザーにお願いできるんだがな。
最近1.1を入れるべきか問い合わせのメールがたくさん来てうんざりしてる。
今回のバージョンアップで開発者もユーザーも混乱してるのは確か。
このスレで1.1のみだと動作が危ういと言うのがわかっただけで収穫だけど、
バージョンアップのたびにこんな思いしないといけないなんていやだ。
何かJavaみたいになってきたな。困ったもんだ。
913 :
デフォルトの名無しさん:03/04/29 23:37
FileOpenDialog とかを UNC や ネットワークドライブ割り当てで使うと
SecurityException が出るんですが、どうしたらいいんでしょうか?
Application.StartupPath でもエラーが発生したんですが、
こちらは Directory.GetCurrentDirectory() を使うことで、
ネットワーク上のパスも取得できるようになりました。
914 :
デフォルトの名無しさん:03/04/29 23:39
すいません。FileOpenDialog ではなく、OpenFileDialog です。
>>911 とりあえず.NETが使われているのは分かった。
1.0で作っている場合、その他のバージョンで動作検証してない場合は
1.0を入れてください。その他のバージョンを入れても問題ありません。
と言えばいいのでは?
プログラムで指定していなければ.NET Framework Configurationで
指定すれば済む話。エンドユーザーにそれをさせるのが妥当かという
問題は残るかもしれんが。
なんだかなー再度倍再度いまいち
.NET Frameworkのバージョンと再度倍再度は関係ないぞ
920 :
デフォルトの名無しさん:03/05/01 13:44
くだすれの方にも書いたのですが、こちらで聞いた方がよろしいかと思ったのでお聞きします。
初心者的な質問で申し訳ありませんが。
データベースにPostgreSQLを使用してOleDb接続でアクセスすることは可能なので
しょうか?
C#でのPostgreSQLへの接続方法を探してみましたが、見つかりませんでした。
データベースは既にできております。
宜しくお願い致します。
OS Windows2000
システムpostgres7.3
ホストbsd
テーブル名 f10
お返事ありがとうございます。
上記サイトのサンプルソースを実行してみたところ
'PostgreSQL' プロバイダはローカルのコンピュータに登録されていません
と言うエラーが出ました
OLEDBプロバイダを新しく追加するということなのでしょうか?
924 :
デフォルトの名無しさん:03/05/01 14:55
>>924 ありがとうございます。
上記サイト見てみます
何気にMonoもやるな
927 :
デフォルトの名無しさん:03/05/01 21:48
ネイティブなDLLを使用する際にDllImportを使用して以下のようにしているのですが
DLLの位置を自分で指定できるようにするにはどのようにしたら良いのでしょうか?
どうかよろしくお願い致します
[DllImport("x.dll")]
public static extern void DllFunc( int i );
>>927 "x.dll"の部分をフルパス指定すればいいのでは?
>>928 御返信有難うございます。説明不足な部分があり申し訳ありません。
現在、とあるソフトのユーティリティー作成用のDLLを使用しています。
そのDLLがソフトと同じ階層にある為、自分のプログラム側からソフトのディレクトリを
指定できればと考えています。
どうかよろしくお願い致します。
肝心な部分が抜けてしまっていました。
ソフトがどこにインストールされるか分からない為、直接フルパス指定が
できませんでした。
ソフトと同じ階層に置くと、ユーティリティーを多数使用している場合
非常に整理が大変かと重い、別フォルダに置ければと思いました。
どうかよろしくお願い致します。
C#って面倒くさいんだなあ
>>931 別に面倒くさくないよ。Cと同じやり方もできるしさ。
>>929 Attributeはコンパイル時に固定値を埋め込むものなので、
実行時にプロパティを変えるなどの芸当は残念ながらできません。
>>933 Attributeとはそういう物だったんですか。勉強不足でした_| ̄|○
>>932さんの発言を見てLoadLibraryを使える?と思ったので、
そちらの方で試してみたいと思います。
ヒント有難うございました。
結局 .NET 1.0 のアプリにはランタイム1.0を、
1.1アプリにはランタイム1.1があればいいって
ことなんですよね?
いいじゃん、これ。
なんでDLLヘルみたいとか、SxSとかって話になるのかわからん
馬鹿だから。
結局VBランタイムと同じか。
ということにしたいのですね
939 :
デフォルトの名無しさん:03/05/02 02:17
>>930 相対パスで指定するとか、Configファイルでサブディレクトリの指定が効くかも。
後者は、マネージドDLL用なので、アンマネージで効果あるかわからんけど。
結局DLLヘルと同じか。
ということですね
942 :
デフォルトの名無しさん:03/05/02 03:53
ぜんぜん違うけど。
ということにしたいのですね
粘着が一匹いるな
分かりやすい自演だなあ
粘着が二匹
キモッ
>>943-947 20分もかけて何自作自演してるの?
いつもはこの時間に書き込みなんて無いのに
こういう変わったことするからすぐばれるんだよ。まぁガンガレ!!
>>948 お前が一番長文でガンガってるな(´∇`)ケラケラ
夜中中ずっと粘着してたみたいだな(w
>>952 お前は一人で徹夜で粘着かもしれないが
俺は今起きたところだ
いや〜。レスが早いのは たまたま だったんですなぁ(w
くやしかったら、泣いてもいいよ。
涙目(w
Office XP や DevStudio で使われてるメニューのUIを実現する方法がわかりませぬ。
メニュー以外はmanifest ファイルでUI変更できたのですが・・・
960 :
デフォルトの名無しさん:03/05/02 11:08
961 :
bloom:03/05/02 11:13
963 :
デフォルトの名無しさん:03/05/02 15:16
拾ったソース中に、文字列をバイト形式にしてファイル出力する部分があるのですが、
日本語を出力しようとするとエラーになります。
マルチバイト対応にするにはどうすればよいのでしょうか?
↓該当コードはこんな感じですです。
char[] chars = this.ToString().ToCharArray();
for ( int i = 0 ; i < chars.Length ; i ++)
{
fileStream.WriteByte (Convert.ToByte (chars[i]));
}
>>963 string text = "あいうえお";
byte[] bytes = Encoding.Default.GetBytes(text);
fileStream.Write(bytes, 0, bytes.Length);
これじゃだめ?
というかエラーメッセージを出してくれないと…。
>>964 教えていただいたコードでエラーはなくなりましたが、アスキーデータとして
出力されているようで、目的は達成されませんでした。
Encoding.Default.GetBytesではConvert.ToByteのような変換処理が行われないのでしょうか?
元のコードでのエラーメッセージは↓です。
>'System.OverflowException' のハンドルされていない例外が mscorlib.dll で発生しました。
>
>追加情報 : 符号なしバイト型に対して値が大きすぎるか、または小さすぎます。
ちなみにエラー発生時の chars[i] は 'M'(65325)でした。
>>965 ShiftJISなら、Encoding.GetEncoding("shift-jis")
Unicodeなら、Encoding.Unicode
ていうか、
>>ちなみにエラー発生時の chars[i] は 'M'(65325)でした。
>>符号なしバイト型に対して値が大きすぎるか、または小さすぎます
byteは0から255までだから、日本語を1byteには変換できない
後はヘルプ見てね
960 さん、ありがとうございました。
要は自分でがんばって描画しろ、ってことなんですね・・
なぜか突然TextBoxからエラーがでます。
キーを入力したり、サイズを変更したりすると発生し安いようです。
ただTextBoxを貼り付けているだけなんですが、一体何が原因なんでしょうか。
************** 例外テキスト **************
System.NullReferenceException: [Resource lookup failed - infinite recursion detected. Resource name: Arg_NullReferenceException]
at System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at System.Windows.Forms.NativeWindow.DefWndProc(Message& m)
at System.Windows.Forms.Control.DefWndProc(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.TextBoxBase.WndProc(Message& m)
at System.Windows.Forms.TextBox.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
ZIPやらの解凍圧縮を実現させるのはどうしたらよいんですか?
× J#で
○ J#の
まあ、言語は何だっていいんだけどね。(w
J#のランタイムは標準のランタイムとは別途インストールする必要がある罠
900 過ぎてからも長持ちするスレ駄なー
974 :
JGreener:03/05/06 11:34
C#でVectorとかコンテナを作りたいのですが、
どこの名前空間にあるのですか?
ネットで調べてもよく分からなかったので(^^;
よろしくお願いします。
化け猫の一人称が猫とか言っているのを見ると寒気がする
978 :
デフォルトの名無しさん:03/05/09 15:07
プログラムを実行してる時に
なぜかマウスカーソルが砂時計マークになっているのですが。
実行はちゃんとされます。
979 :
デフォルトの名無しさん:03/05/19 19:41
ん?どした?活気がねえな。
2chに親しんでいる人間は、950を越えたスレを、1000取り以外の目的で上げない。
981 :
デフォルトの名無しさん:03/05/19 19:47
>>978 バグじゃないのか?一種の。
他、処理がカーソルに回っていないとか。
どっちにしろ、.net側の問題だと思われ
>>978 forとかwhileでずっと処理回しっぱなしにしているんじゃないのか?
timerイベントで書きかえれるのならそのほうがいいな。