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

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

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

Re[7]: DHTML EDITのSaveDocument()について


(過去ログ 72 を表示中)

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

■41971 / inTopicNo.1)  DHTML EDITのSaveDocument()について
  
□投稿者/ RT (163回)-(2009/10/05(Mon) 21:10:12)

分類:[C#] 

こんにちは。RTです。
たびたびお世話になります。
C#でプログラミングを行っております。

質問なのですが、DHTML EDITのSaveDocument()メソッドの引数に指定するのは、ref object型のようですが、何を指定すればいいのでしょうか?保存場所でしょうか?

アドバイスよろしくお願いします。
引用返信 編集キー/
■41972 / inTopicNo.2)  Re[1]: DHTML EDITのSaveDocument()について
□投稿者/ 魔界の仮面弁士 (1339回)-(2009/10/05(Mon) 21:18:25)
No41971 (RT さん) に返信
> C#でプログラミングを行っております。
×: C#
○: C#

> 質問なのですが、DHTML EDITのSaveDocument()メソッドの引数に指定するのは、ref object型のようですが、何を指定すればいいのでしょうか?保存場所でしょうか?

SDK をインストールしたフォルダの \Docs の下に、ヘルプファイル(SDK_Help.chm)があるはずです。
その中の“SaveDocument Method”の項を参照してみてください。

http://www.userspace.net/userspace/file/software/dhtml/api/axmth_9.htm
引用返信 編集キー/
■41975 / inTopicNo.3)  Re[2]: DHTML EDITのSaveDocument()について
□投稿者/ RT (164回)-(2009/10/05(Mon) 21:45:46)
2009/10/05(Mon) 22:28:51 編集(投稿者)
2009/10/05(Mon) 22:13:14 編集(投稿者)
2009/10/05(Mon) 22:07:17 編集(投稿者)

No41972 (魔界の仮面弁士 さん) に返信

> SDK をインストールしたフォルダの \Docs の下に、ヘルプファイル(SDK_Help.chm)があるはずです。
> その中の“SaveDocument Method”の項を参照してみてください。

ref objectのパラメーターに、string型のパスを指定するのでしょうか?それだとエラーが出ます。
string型をオブジェクト型にキャストして、refを付けてみても、
refは、変数じゃないとつけてはいけないというような事を言われます。
 バックスラッシュを使ってパスを書くのでしょうか?バックスラッシュは日本語だと¥のようですが。

実際のプログラムと説明書に書いてある事と、違うような気がするのですが。

説明書には、パラメーターについて以下の事が書いてあります。
String containing the path and name of the file to save to
 ストリング型のパスを含んだセーブしたいファイル名と言う意味だと思いますが。
引用返信 編集キー/
■41976 / inTopicNo.4)  Re[3]: DHTML EDITのSaveDocument()について
□投稿者/ 魔界の仮面弁士 (1340回)-(2009/10/05(Mon) 22:28:00)
No41975 (RT さん) に返信
>>SDK をインストールしたフォルダの \Docs の下に、ヘルプファイル(SDK_Help.chm)があるはずです。
>>その中の“SaveDocument Method”の項を参照してみてください。
> ref objectのパラメーターに、string型のパスを指定するのでしょうか?それだとエラーが出ます。

No41336 などでも注意していますが、
  ★エラーが出るのであれば、どのようなエラーが発生したのかを記述してください★


コンパイルエラーの場合は、コードに間違いがあるはずです。実際のコードを提示してください。
なお第 1 引数には、string型のパスを渡すのではなく、
string 型のパスを代入した object 型の変数を ref 指定で渡す必要があります。

実行時例外の場合には、その Exception の内容を転記してください。
(例外が InnerException を持っている場合には、その内容も記述してください)


>  バックスラッシュを使ってパスを書くのでしょうか?バックスラッシュは日本語だと¥のようですが。

御存じかと思いますが、C# では「\」を含む文字列を記述する場合、
"C:\mydocs\sample.htm" ではなく、
@"C:\mydocs\sample.htm" もしくは
"C:\\mydocs\\sample.htm" と記述する必要があります。


なお \ を \\ と連記する方法については、DHTML Edit SDK の先の項目にも記述がありますね。

> Note   Some languages, such as JavaScript, treat the "\" character as an escape character.
> If you are including a full path such as c:\mydocs\sample.htm, make sure you treat
> the backslash character properly. For example, in JavaScript, you should indicate
> the path using this string: C:\\mydocs\\sample.htm.

引用返信 編集キー/
■41978 / inTopicNo.5)  Re[4]: DHTML EDITのSaveDocument()について
□投稿者/ 魔界の仮面弁士 (1341回)-(2009/10/05(Mon) 22:31:23)
No41976 (魔界の仮面弁士 さん) に返信
> No41336 などでも注意していますが、
>   ★エラーが出るのであれば、どのようなエラーが発生したのかを記述してください★

おおぅ、後から追記されていた…。
> 2009/10/05(Mon) 22:13:14 編集(投稿者)
> 2009/10/05(Mon) 22:07:17 編集(投稿者)


> refは、変数じゃないとつけてはいけないというような事を言われます。
『というような事』といった、曖昧な書き方をするのは止めてください。

どのようなコードを書いて、どのようなエラーになったのか、一字一句正確に記述してください。


> refは、変数じゃないとつけてはいけないというような事を言われます。
その通りです。object 型の変数を用意して(string ではありません)、それを ref 指定で渡してみてください。
引用返信 編集キー/
■41979 / inTopicNo.6)  Re[4]: DHTML EDITのSaveDocument()について
□投稿者/ 魔界の仮面弁士 (1342回)-(2009/10/05(Mon) 22:54:09)
No41975 (RT さん) に返信
> 2009/10/05(Mon) 22:28:51 編集(投稿者)
> ref objectのパラメーターに、string型のパスを指定するのでしょうか?それだとエラーが出ます。
ref object のパラメーターなのですから、渡すべきは object 型の変数です。
string 型の変数/定数を渡してはいけません。


> string型をオブジェクト型にキャストして、refを付けてみても、
string 型は object を継承していますので、明示的にキャストする必要はありません。

string s = "test.html";
object o1 = (object)s;   // これでも良いですが…
object o2 = s;           // キャストせずに代入しても OK です。


> String containing the path and name of the file to save to
> ストリング型のパスを含んだセーブしたいファイル名と言う意味だと思いますが。
訳としては微妙に違う気もしますが、まぁ、概ねそんなところです。


パスそのものは勿論 文字列で指定する事になります。
これが VB であれば、直接
 AxDHTMLEdit1.SaveDocument("C:\directory\test.html")
と記述できるところですが、C# の文法上では、
 AxDHTMLEdit1.SaveDocument(ref obj);  // obj は String 型の値が代入された object 型変数
とせねばならない事になっています。
http://msdn.microsoft.com/ja-jp/library/azb8bhhf.aspx


> 実際のプログラムと説明書に書いてある事と、違うような気がするのですが。
少なくとも、そのドキュメントがリリースされた当時は、
C# はおろか、.NET すら登場していなかった筈です。

ですから、C# 固有の事情についてまでは言及されていません。

引用返信 編集キー/
■41980 / inTopicNo.7)  Re[5]: DHTML EDITのSaveDocument()について
□投稿者/ RT (165回)-(2009/10/05(Mon) 23:28:01)
No41979 (魔界の仮面弁士 さん) に返信
 
SaveDocument()メソッドの使い方はわかりました。ありがとうございます。

もう一つ教えて頂きたいのですが、ExecCommandがウェブブラウザとは違うようでちょっとややこしいです。

DHTMLEDLib.DHTMLEDITCMDID DECMD_COPY=new DHTMLEDLib.DHTMLEDITCMDID();

とクラスをインスタンス化して使おうとしましたが、

axDHTMLEdit1.ExecCommand(DECMD_COPY);

呼び出しのターゲットが例外をスローしました。というエラーが出ます。

引数の指定の仕方を教えてください。
引用返信 編集キー/
■41982 / inTopicNo.8)  Re[6]: DHTML EDITのSaveDocument()について
□投稿者/ 魔界の仮面弁士 (1343回)-(2009/10/05(Mon) 23:53:15)
No41980 (RT さん) に返信
> DHTMLEDLib.DHTMLEDITCMDID DECMD_COPY=new DHTMLEDLib.DHTMLEDITCMDID();
> とクラスをインスタンス化して使おうとしましたが、
何故? (^_^;)
DHTMLEDITCMDID は、列挙型ですよ?


たとえば、メッセージボックスのボタンを [はい/いいえ]や[OK/キャンセル]にする場合、
MessageBoxButtons を new でインスタンス化して、

 MessageBoxButtons YesNo = new MessageBoxButtons();
 MessageBox.Show("message", "title", YesNo);

 MessageBoxButtons OKCancel = new MessageBoxButtons();
 MessageBox.Show("message", "title", OKCancel);

などと記述したりはせず、

  MessageBox.Show("message", "title", MessageBoxButtons.YesNo);

  MessageBox.Show("message", "title", MessageBoxButtons.OKCancel);

のように指定しますよね。それと同じことです。

引用返信 編集キー/
■41983 / inTopicNo.9)  Re[7]: DHTML EDITのSaveDocument()について
□投稿者/ RT (166回)-(2009/10/06(Tue) 00:05:12)
No41982 (魔界の仮面弁士 さん) に返信

ありがとうございます。ExecCommandの使い方わかりました。

また、別トピックでわからない事を質問させて頂きます。

魔界の仮面弁士 さんありがとうございました。また、アドバイスよろしくお願いします。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -