DOBON.NETプログラミング道掲示板

■ 「新規作成」から投稿できます。
■ マルチポストされた投稿を見つけたときは、その投稿に返信することによりご報告ください。その際は匿名で投稿し、マルチポストされている場所を併記してください。
■ スパム対策のため、メールアドレスの先頭に"_"という文字が付加されています。
RSS 2.0 RSS 2.0 | RSS 0.91 | 携帯電話用 | 自分専用のアイコンを使用するには | 掲示板への要望 | 管理人に連絡 | お気楽掲示板
■ 24時間以内に作成されたスレッドは New で表示されます。
■ 24時間以内に更新されたスレッドは UpDate で表示されます。

記事リスト ( )内の数字はレス数
NomalFILE.COPYでIOExceptionエラーが出る(9) | NomalVB6 ほかのアプリケーションを起動し そのアプリケーションは終了させる方法(4) | NomalMouseEventArgsのカレント座標(2) | Nomalリッチテキストボックスでの字間の調整(2) | NomalDrawImage でメモリ不足エラー(3) | Nomal必須コンポーネントの一覧に追加したい(0) | NomalCode128でバーコードが読み取れない(8) | NomalあるWindows10PCでビルドしたEXEがW8.1以下で実行エラー(5) | NomalApp.configのMy.Application.Log設定で使用できない属性が出る(0) | NomalVC++ → VB.Netに変換時に文法エラー(2) | Nomalvb2010を使用したmicrosoft Wordの任意の行の削除(0) | NomalVb.netからAccessへの接続について(3) | NomalSQL-Server Compact 4.0が表示されない(2) | Nomalバーコードの数字を非表示にしたい(2) | Nomal令和の日付への対応(3) | Nomalスクロールバーが出た時に高さを変えたい(4) | Nomal自作したアプリの発行元を明記したい(2) | NomalHTTP 417エラーを発生させるためのIIS設定はどうすればよいか(3) | Nomal起動ディスプレイの指定方法について(6) | NomalSystem.Threading.Thread.Sleep()と変数(2) | NomalVisual Studio DataTableの値のアクセスの仕方(2) | NomalDatagridviewのクリア(2) | NomalDataGridView 行の背景色の設定(2) | NomalListBoxにデータが表示されない(6) | NomalPIctureBox同士を論理合成したい(3) | NomalDrawString前のFillRectangle有無により文字の太さが違う理由について教えて下さい(3) | Nomalポルトガル語の登録(5) | NomalnumericUpDwonコントロールのvalue(2) | Nomalデータセット定義ファイルからDataTable(3) | NomalDataTableの構造が同じか調べるメソッド(2) | Nomalネットの画像の複数枚を重ね合わせたい(3) | Nomalリストを別フォームに渡す方法(9) | Nomal例外発生した場合に変数をcatchに渡したい(9) | NomalRejectChangesについて(2) | Nomal数字だけで構成されてるCSVフィールドが自動的に数値として解釈される(7) | NomalDataGridViewで検索をかける方法(3) | NomalDataGridViewの選択時の色を透明にしたい(3) | NomalPC機種によってスタートアップ画面が中央から左上にずれる、Fontがおかしくなる。(2) | Nomalタスクスケジュール登録時の例外メッセージ(2) | Nomal参照dllへの文字列引数をutf8で渡したい。(13) | Nomal管理者モードでクリック(2) | NomalVB2017でのインストーラ作成時のエラーについて(2) | Nomal文字列を8bit に戻してから UTF-8 に変換する方法(6) | NomalDatagridViewの行高さ変更について(4) | NomalWebRequest でメモリが解放されない(1) | NomalWebBrowserでWebページからのメッセージ(3) | NomalASP.NETから呼ばれているかどうか判定する方法(3) | NomalCA2213の警告が消えません(3) | NomalSQLServerテーブル内容をDataGridViewに表示するコードについて(6) | Nomaloo4oのAddTableをADOに移行したい(5) | Nomalデータバインド時のDataGridViewのカスタムソート(2) | NomalFunction プロシージャからの文字選択(1) | NomalMicrosoft Azure OCRのサンプルコード実行時エラー(2) | Nomal文字列構造体のListのソート(6) | NomalフォームコントロールへのDataBindingsでプロパティが相互反映されない(7) | NomalC# 現在のコンテキスト内にxxxという文字は存在しませんと出ます(3) | NomalWinFormsでWindows10のカメラアプリと連携したい(0) | NomalObject型からDecimalへの変換(2) | NomalWindows10(1803)からGetHostEntryでipv4が取得出来ない場合がある(2) | Nomalユーザーコントロールのプロパティが保存されない(2) | Nomal擬似言語をVBのプログラミングに変換(2) | Nomal「Environment.SpecialFolder.MyDocuments」の戻り値(2) | Nomalエクスプローラーのポインタ下のアイテムの取得(8) | NomalGIFで使うPNGファイルにおける容量削減について(5) | NomalProcess.StartでPDFファイルが開かない(Windows10)(3) | Nomal定数を複数繰り返す時(1) | Nomaloo4oのAddTableをODP.NETに移行したい(2) | NomalWindows標準TCPIPポートについて(4) | Nomalユーザーコントロールをツールバーに表示できない(8) | Nomalレンタルサーバからファイルを取得する方法を教えてください。(12) | NomalIEnumerableについてまとめてみました。(2) | NomalスレッドのwebbrowserでDocumentCompletedが来ない(2) | NomalList(of T)の抽出方法(3) | Nomalあまりにも基本的なことですが。(3) | NomalVB.netで作成されたプログラムからAccessのレポート印刷時にバーコードが表示されない(2) | NomalTextBoxの最大バイトを超えた分の文字を消す際の不具合(2) | Nomal折れ線グラフで基準値以内と基準値超過で色変え(6) | NomalFriend設定されているdllを利用することができますか?(3) | Nomal縦横変換してのTableの合算(4) | Nomalhtmlファイルへの関連付け(2) | NomalDataTableにSQLを実行できますか?(6) | Nomal.netからのAccessパスワード解除(2) | Nomal天気.jpに切断されます(2) | Nomalgifの容量をできるだけ軽くしたい(11) | NomalVB.NETでXMLファイルからデータを取得したい(2) | NomalAddStringの使い方(5) | NomalVS2015 Express インストール時のエラー(7) | Nomal2枚のPictureBoxを合成した上で描画したい(6) | Nomal自作ツールを標準ブラウザ候補に入れるには?(3) | NomalGraphicsUnit.Document使用時に解像度に合わせて位置決めしたい(2) | Nomal文字を円弧に沿って表示させたい(5) | Nomal【お知らせ】スマホでも見やすくなりました(0) | NomalVB.NetのWebBrowserでJavaScriptを呼び出したい(2) | Nomalサムネイルを新しい順にファイル名のみで表示したい。(4) | NomalEXCELでクリップボードを使用せずに書式付きでセルをコピー(5) | NomalDataGridView内でコンボボックスの選択をキャンセルする方法(1) | Nomalタブの色を他の処理から変更する方法(2) | Nomal同じデータセット内にテーブルの複製を作る方法(4) | Nomal配列を持つ自作クラスで、入れ替える関数を作成したい。(3) | NomalPowerPointをVBAでPDF化したい(0) |



■記事リスト / ▼下のスレッド
■34273 / 親記事)  FILE.COPYでIOExceptionエラーが出る
□投稿者/ オフィス・ケイ 一般人(1回)-(2019/07/03(Wed) 09:25:29)
  • アイコン環境/言語:[WindowsCE6.0 VB.NET2008 .NET Compact FrameWork3.5 ] 
    分類:[.NET] 

    初めまして。
    初めて投稿します。

    現在、Vb.net2008でPDAの開発を行っています。
    PDAのOSはWindows CE6.0になります。
    フレームワークは.net CompactFrameWork3.5です。

    処理内容として、PDAで作成されたテキストファイルをネットワーク越しの共有フォルダにコピーしています。

    File.COYを使用しているのですが、稀にシステムエラー(IOException)で処理が落ちるのです。
    原因として何が考えられるのでしょうか?
    ネットワークは無線LANで接続しています。

    ----- 参考ソース ------

    sFileRireki:送信元ファイル
    sFileTRireki:送信先ファイル
    psInit.sUpLoadD:送信先フォルダ

    Try

    If File.Exists(sFileRireki) = True Then 'あり
    If Directory.Exists(psInit.sUpLoadD + "\") = False Then
    sErrMsg = "アップロード先フォルダが無いか、ネットワーク接続できませんでした。(COPY直前チェック)" + vbCrLf + psInit.sUpLoadD
    Return False
    End If
    IO.File.Copy(sFileRireki, sFileTRireki,True)
    '送信後、削除
    If File.Exists(sFileRireki) = True Then
    File.Delete(sFileRireki)
    Else
    Return False
    End If
    Else
    Return False
    End If
    Catch ex As Exception
    sErrMsg = "アップロード(履歴データ送信)に失敗しました。" + vbCrLf + vbCrLf + ex.Message
    Return False
    Finally
    Call sub_WriteLog(sErrMsg, "", pciLogModeE, "fnc_LogDataSend")
    End Try

    ------- エラー内容 ----------

    アップロード(履歴データ送信)に失敗しました。IOException

    以上になります。
    よろしくお願いします。

違反を報告
引用返信

▽[全レス9件(ResNo.5-9 表示)]
■34278 / ResNo.5)  Re[5]: FILE.COPYでIOExceptionエラーが出る
□投稿者/ 魔界の仮面弁士 大御所(1233回)-(2019/07/04(Thu) 10:37:57)
  • アイコンNo34277に返信(オフィスケイさんの記事)
    > 下記にログを記載します。
    >   143333 I [fnc_LogDataSend] 履歴データ送信_ファイル存在チェック(File.Exists)
    >   143333 I [fnc_LogDataSend] 履歴データ送信_ファイルcopy前(File.copy)
    >   143528 E [fnc_LogDataSend] アップロード(履歴データ送信)に失敗しました。IOException

    その時間に母艦へのコピー操作が正常に行われたのか、
    コピー途中で失敗したのか(セキュリティソフトによる阻害や無線Hubの不調)、
    あるいはそもそも母艦への Copy 要求すら行われなかったのかが
    わかるような仕掛けがあると、原因の追跡に役立つかもしれません。

    ユーザー環境でのみ発生する事象という事で追跡しにくいですが、
    母艦(ファイル送信先)側で監査ログを取るようにして、
    例外が発生した時刻付近のイベント ビューワーのログが、
    いつもと違う内容になっていないか確認してみては如何でしょう。
    http://eventlog.whitefox.jp/?eid=5
    http://hokatsu.net/windows/detect_file_edit_and_deletion/
違反を報告
引用返信
■34279 / ResNo.6)  Re[1]: FILE.COPYでIOExceptionエラーが出る
□投稿者/ kiku 一般人(6回)-(2019/07/04(Thu) 11:39:42)
  • アイコン直接的な回答ではありませんが、
    経験したことを羅列します。

    ●CE6.0でのはなし。
    ・共有フォルダ経由にてファイルをアップロードを行ったことがあります。
     同じように原因不明なエラーが発生したりし、
     通信を追うことができるFTP通信に変更することで対処しました。

    ●Window7以降のはなし
    ・共有フォルダを経由し、ファイルをアップロードすることをやっています。
     無線LAN環境が悪く、切断が頻繁に発生する状況です。
     同じように、ネットワークフォルダの確認、コピー先に同名の
     ファイルが存在しないことを確認してからコピーを行いますが
     Exceptionが発生することがあります。
     対処としては、2つ行い、安定しました。
     1.共有フォルダのEveryOneにしていたのですが
       ユーザとパスワードを指定して、共有フォルダへの認証を
       行うように変更しました。
       何か失敗した場合、再度認証を行う対処になります。
     2.例外が発生した場合、再送を行うように実装しました。
       1.共有フォルダのPCにPINGを発行し、OKになるまで繰り返す
       2.共有フォルダへの再認証(再ログイン)
       3.フォルダの存在チェック
       4.ファイルの存在チェック
       5.コピー

    CE6.0で共有フォルダを利用したいのであるならば、
    PCで行った対処を行うのが良い気がします。



違反を報告
引用返信
■34280 / ResNo.7)  Re[6]: FILE.COPYでIOExceptionエラーが出る
□投稿者/ オフィスケイ 一般人(2回)-(2019/07/10(Wed) 08:05:16)
  • アイコンNo34278に返信(魔界の仮面弁士さんの記事)

    > ユーザー環境でのみ発生する事象という事で追跡しにくいですが、
    > 母艦(ファイル送信先)側で監査ログを取るようにして、
    > 例外が発生した時刻付近のイベント ビューワーのログが、
    > いつもと違う内容になっていないか確認してみては如何でしょう。



    =>ご回答ありがとうございます。
     監査ログを取るなどして、もう少し調べてみたいと思います。


違反を報告
引用返信
■34281 / ResNo.8)  Re[2]: FILE.COPYでIOExceptionエラーが出る
□投稿者/ オフィスケイ 一般人(3回)-(2019/07/10(Wed) 08:07:18)
  • アイコンNo34279に返信(kikuさんの記事)
    >
     回答ありがとうございます。
     ご提示して頂いた内容を踏まえ、いろいろとやってみたいと思います。
     ありがとうございました。
違反を報告
引用返信
■34282 / ResNo.9)  Re[4]: FILE.COPYでIOExceptionエラーが出る
□投稿者/ オフィス・ケイ 一般人(2回)-(2019/07/16(Tue) 13:13:25)
  • アイコンNo34276に返信(魔界の仮面弁士さんの記事)
    > ■No34275に返信(オフィス・ケエイさんの記事)
    >
    > また、エラー発生時点の StackTrace を記録することは出来ますか?
    > (Exception の ToString でも OK です)

    => 下記にExceptionのToStringを取りました。

    System.IO.IOException:
    IOException
    場所 System.IO.__Error.WinIOError(Int32 errorCode, String str)
    場所 System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite)
    場所 〇〇.mod_〇〇.fnc_LogDataSend(String& sErrMsg, StatusBar stbMsg)
    場所 〇〇.frm01_Main.ProcUpLoad()
    場所 〇〇.frm01_Main.btnSave_Click(Object sender, EventArgs e)
    場所 System.Windows.Forms.Control.OnClick(EventArgs e)
    場所 System.Windows.Forms.Button.OnClick(EventArgs e)
    場所 System.Windows.Forms.ButtonBase.WnProc(WM wm, Int32 wParam, Int32 lParam)
    場所 System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)
    場所 Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain)
    場所 System.Windows.Forms.Application.Run(Form fm)
    場所 〇〇.mod_〇〇.Main()

    ※〇〇はユーザー名が入っているので、隠しますね。

    この内容で何かわかりますでしょうか?


違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-9]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■34268 / 親記事)  VB6 ほかのアプリケーションを起動し そのアプリケーションは終了させる方法
□投稿者/ あぽあぽ 一般人(1回)-(2019/06/26(Wed) 21:08:38)
  • アイコン環境/言語:[VB6] 
    分類:[VB6以前] 

    VB6 で 
    他EXE(アプリBとします)を起動したのち そのプログラムは終了させる方法はありますか?
    SHELL関数やobjWshShell.Runオブジェクトでは
    最初のアプリ(アプリAとします)を 終了させると 他EXE(アプリB)も 一緒に終了してしまいます。

    仕様としましては アプリAのバージョンアップを考えており
    アプリAで サーバよりダウンロードしたものを アプリBで 書き換えるといったものです。

    よろしく ご教授ください。
違反を報告
引用返信

▽[全レス4件(ResNo.1-4 表示)]
■34269 / ResNo.1)  Re[1]: VB6 ほかのアプリケーションを起動し そのアプリケーションは終了させる方法
□投稿者/ みい 一般人(6回)-(2019/06/27(Thu) 10:06:08)
  • アイコン2019/06/27(Thu) 10:15:40 編集(投稿者)

    No34268に返信(あぽあぽさんの記事)
    > VB6 で 
    > 他EXE(アプリBとします)を起動したのち そのプログラムは終了させる方法はありますか?
    Win32APIのShellExecuteではいかがでしょうか。

    第一引数の親ウインドウはNULL指定するとアプリAを終了してもアプリBは終了しません。
違反を報告
引用返信
■34270 / ResNo.2)  Re[1]: VB6 ほかのアプリケーションを起動し そのアプリケーションは終了させる方法
□投稿者/ 魔界の仮面弁士 大御所(1230回)-(2019/06/27(Thu) 15:20:25)
  • アイコンNo34268に返信(あぽあぽさんの記事)
    > SHELL関数やobjWshShell.Runオブジェクトでは
    > 最初のアプリ(アプリAとします)を 終了させると 他EXE(アプリB)も 一緒に終了してしまいます。

    下記のコードで試してみましたが、起動元のアプリケーションが終了しても、
    メモ帳や電卓が連動して終了することはありませんでした。

    Option Explicit
    Private Sub Main()
      Shell "notepad.exe"
      CreateObject("WScript.Shell").Run "calc.exe"
    End Sub
違反を報告
引用返信
■34271 / ResNo.3)  Re[2]: VB6 ほかのアプリケーションを起動し そのアプリケーションは終了させる方法
□投稿者/ あぽあぽ 一般人(2回)-(2019/06/27(Thu) 20:24:06)
http://VB6
  • アイコン
    > Win32APIのShellExecuteではいかがでしょうか。
    >
    > 第一引数の親ウインドウはNULL指定するとアプリAを終了してもアプリBは終了しません。
    どうもありがとうございました。

    教えていただいた通りで OKでした。
解決み!
違反を報告
引用返信
■34272 / ResNo.4)  Re[2]: VB6 ほかのアプリケーションを起動し そのアプリケーションは終了させる方法
□投稿者/ あぽあぽ 一般人(3回)-(2019/06/27(Thu) 20:29:41)
http://VB6
  • アイコン
    > 下記のコードで試してみましたが、起動元のアプリケーションが終了しても、
    > メモ帳や電卓が連動して終了することはありませんでした。
    >
    > Option Explicit
    > Private Sub Main()
    >   Shell "notepad.exe"
    >   CreateObject("WScript.Shell").Run "calc.exe"
    > End Sub

    どうもありがとうございます。

    結果として 上記のみい様の 方法でOKでしたのですが
    魔界の仮面弁士様 ご指摘の通りやってみて うまくいきました。

    たぶん アプリBは IDE実行では正常でしたが EXEで実行でエラーが出ていたのじゃないだろうかと 今、考えました。
    アプリAも アプリBも この質問以降に 多少の手直しをした結果 正常に動くようになってしまったのかと、もっとはやく気付かなかったことに 反省しております。

    どうもありがとうございました
解決み!
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-4]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■34265 / 親記事)  MouseEventArgsのカレント座標
□投稿者/ あばば無人君 一般人(4回)-(2019/05/27(Mon) 14:38:23)
  • アイコン環境/言語:[Win10Pro(Ver1809)、C#(.Net4.7.1)] 
    分類:[.NET] 

    現在、Win10Pro(Ver1809)+C#(.Net4.7.1)の環境でタイトルバーの無い
    フォームアプリケーション※を作成しております。
    ※FormのプロパティFormBorderStyle=None

    ただ、このアプリは移動はさせたいとの事なのでMouseDown/MouseMove/MouseUpの
    イベントを設定して以下の実装をしております。
    (マウスでフォームをドラッグして移動できる実装)

    private bool IsFormMoveStart = false;
    private Point MouseLocation;

    private void Form1_MouseDown(object sender, MouseEventArgs e)
    {
    Debug.WriteLine("マウスダウンイベント発生!:" + e.Button + e.Location);

    IsFormMoveStart = true;
    MouseLocation = e.Location;
    }

    private void Form1_MouseMove(object sender, MouseEventArgs e)
    {
    if (IsFormMoveStart)
    {
    Debug.WriteLine("マウスムーブイベント発生!:" + e.Button + e.Location);

    /// マウスの移動距離(ピクセル?)を求める
    int moveX = e.Location.X - MouseLocation.X;
    int moveY = e.Location.Y - MouseLocation.Y;

    /// マウスの移動距離分だけ当EXEフォームも移動させる
    this.Location = new Point(this.Location.X + moveX,
    this.Location.Y + moveY);

    // MouseLocation = e.Location; ★
    }
    }

    private void Form1_MouseUp(object sender, MouseEventArgs e)
    {
    Debug.WriteLine("マウスアップイベント発生!:" + e.Button + e.Location);

    IsFormMoveStart = false;
    }

    質問はこのフォームを実際にマウスで移動した時の以下ログのX座標の値です。

    マウスダウンイベント発生!:Left{X=200,Y=100} -@
    マウスムーブイベント発生!:Left{X=200,Y=100} -A
    マウスムーブイベント発生!:Left{X=201,Y=100} -B
    マウスムーブイベント発生!:Left{X=200,Y=100} -C
    マウスアップイベント発生!:Left{X=200,Y=100} -D

    @A行目はフォームをマウスで押下(指は解放していない)した時の物で、
    X座標はその時点の値が出力されていて問題は無い認識です。

    次に右へ1ピクセル動かしたログがBCなのですが、Bで200 → 201 となったのに
    Cで200に戻っています。
    また、指を開放した時のDも同様です。

    最初は私の操作がおかしいのかと思いましたが、何度やってもフォームは確実に
    1ピクセル動いていますし、また他の人間に操作させても同じ結果でした。

    CDで1ピクセル小さい値がイベントとして上がってくる原因が分かる方は
    いらっしゃいますでしょうか?

違反を報告
引用返信

▽[全レス2件(ResNo.1-2 表示)]
■34266 / ResNo.1)  Re[1]: MouseEventArgsのカレント座標
□投稿者/ Hongliang 大御所(561回)-(2019/05/27(Mon) 15:32:22)
  • アイコン2019/05/27(Mon) 15:45:02 編集(投稿者)

    e.Locationは、senderであるコントロールの左上を (0, 0) とするクライアント座標系で表されています。
    マウスを右に1ピクセル動かすと、フォームがそれに続いて右に1ピクセル移動されるため、結局クライアント座標系におけるマウスカーソル位置は元に戻ることになります。

    追記。
    マウスが動いていなくても、フォームの方が移動した時、MouseMoveイベントが発生します。
違反を報告
引用返信
■34267 / ResNo.2)  Re[2]: MouseEventArgsのカレント座標
□投稿者/ あばば無人君 一般人(6回)-(2019/05/27(Mon) 16:11:24)
  • アイコンNo34266に返信(Hongliangさんの記事)
    > 2019/05/27(Mon) 15:45:02 編集(投稿者)

    > e.Locationは、senderであるコントロールの左上を (0, 0) とするクライアント座標系で表されています。
    > マウスを右に1ピクセル動かすと、フォームがそれに続いて右に1ピクセル移動されるため、結局クライアント座標系におけるマウスカーソル位置は元に戻ることになります。

    Oh!その通りですね。
    しょぼいレベルの質問にお答えして頂き本当にありがとうございました。



    > 追記。
    > マウスが動いていなくても、フォームの方が移動した時、MouseMoveイベントが発生します。

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



    本件、解決済みとさせて頂きます。

解決み!
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-2]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■34261 / 親記事)  リッチテキストボックスでの字間の調整
□投稿者/ kohei 一般人(1回)-(2019/05/26(Sun) 07:57:03)
  • アイコン環境/言語:[VB.NET] 
    分類:[.NET] 

    VisualStudio2019のVBで、リッチテキストボックスを使ったプログラムを作ってるのですが、
    字間の調整ができずに困っています…。

    単純なテキストファイルを読み込んで、文字列操作で書式制御を加えてRTFを作って、色付け等を行ってます。
    RTFの解説から「\expndtw」を見つけてこれで行けると思ったのですが、変わりません…。
    生成したRTFを書き出してメモ帳(Windowアプリ)に貼り付けてワードパッドで開くと、ちゃんと字間があくので、
    RTFとしては間違えてないと思うのですが、VBで作ったプログラムの方では字間が変わりません。

    VBのリッチテキストボックスは、RTFの全ての書式が使えるわけではなく、
    何か制限(機能の限定)があるのでしょうか?

    ちょっと長いけど、その時のRTF文字列付けておきます。

    {\rtf1\ansi\ansicpg932\deff0\deflang1033\deflangfe1041{\fonttbl{\f0\fnil\fcharset128 @\'82\'6c\'82\'72 \'83\'53\'83\'56\'83\'62\'83\'4e;}}
    {\colortbl ;\red255\green255\blue221;\red221\green255\blue221;\red192\green221\blue255;\red255\green221\blue221;\red192\green192\blue192;}
    {\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\sa20\sl0\slmult0\fs24\highlight1 :\highlight2 10\highlight3 0000\highlight4 0\expndtw120 0\expndtw0\highlight0 0\expndtw120 9\expndtw0 C\expndtw120 0\expndtw0 0\expndtw120 E\expndtw0 C\expndtw120 0\expndtw0 0\expndtw120 D\expndtw0 C\expndtw120 0\expndtw0 0\expndtw120 C\expndtw0 C\expndtw120 0\expndtw0 0\expndtw120 B\expndtw0 C\expndtw120 0\expndtw0 0\expndtw120 A\expndtw0 C\expndtw120 0\expndtw0 0\expndtw120 9\expndtw0 C\expndtw120 0\expndtw0 0\expndtw120 8\expndtw0 C\expndtw120 0\expndtw0 \expndtw0\highlight5 9A\highlight0\par
    \highlight1 :\highlight2 02\highlight3 0000\highlight4 0\expndtw120 0\expndtw0\highlight0 7\expndtw120 A\expndtw0 F\expndtw120 E\expndtw0 \expndtw0\highlight5 86\highlight0\par

    (ワードパッドのスクショつけようとしたけど、サイズで拒否されました…。上記を張り付けして見たらバレバレと思いますが、IntelHexフォーマットを色付きで表示したいプログラムです。)
違反を報告
引用返信

▽[全レス2件(ResNo.1-2 表示)]
■34263 / ResNo.1)  Re[1]: リッチテキストボックスでの字間の調整
□投稿者/ 魔界の仮面弁士 大御所(1229回)-(2019/05/26(Sun) 16:49:13)
  • アイコン
    No34261に返信(koheiさんの記事)
    > ちょっと長いけど、その時のRTF文字列付けておきます。
    『{』の個数が、『}』の個数より多いような…?
    
    
    > VisualStudio2019のVBで、リッチテキストボックスを使ったプログラムを作ってるのですが、
    ターゲットとしている .NET Framework バージョンと
    実行環境の OS バージョンは何でしょうか?
    
    
    > VBのリッチテキストボックスは、RTFの全ての書式が使えるわけではなく、
    > 何か制限(機能の限定)があるのでしょうか?
    
    RTF 仕様について学ばれているようなので、既にご存知とは思いますが、
    RTF には幾つかのバージョンがあり、バージョン間で機能面に差異があります。
    https://ja.wikipedia.org/wiki/Rich_Text_Format#%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%AE%E5%B1%A5%E6%AD%B4
    
    また、それを扱う Rich Edit Control にも複数のバージョンがあります。
    https://blogs.msdn.microsoft.com/murrays/2006/10/13/richedit-versions/
    
    どのバージョンの DLL が利用されるのかは、使用している
    .NET Framework バージョンによって異なっていますが、元々は
    いわゆる RichEd20.DLL がロード対象であったと記憶しています。
    リリース当初は RichEdit 3.0 相当(ただし Win98 では 2.0 相当)かと。
    
    しかし実際に動作させてみると、たとえば .NET Framework の
    3.5 と 4.7.2 とでは、RTF の解釈に差が生じることがあります。
    
    これは 4.6 において、RichEd20.DLL よりも MsftEdit.DLL を
    優先利用するための機能が用意されたためです。しかし互換性上の理由から
    既定では RichEd20.DLL が引き続き利用されるようになっていました。
    
    ただし 4.7 では、MsftEdit.DLL が優先利用されるよう変更されました。
    
    4.6 以降では、この DLL バージョンのためのオプトアウトスイッチとして
    DoNotLoadLatestRichEditControl が設けられました。
    動作を切り替えるためには、app.config 上に下記の項目を追加できます。
    
    
    <configuration>
      <runtime>
        <!--
        <AppContextSwitchOverrides value="Switch.System.Windows.Forms.DoNotLoadLatestRichEditControl=false"/>
        <AppContextSwitchOverrides value="Switch.System.Windows.Forms.DoNotLoadLatestRichEditControl=true"/>
        -->
      </runtime>
    </configuration>
    
    ※上記は WinForms の場合の話です。WPF その他については未調査です。

違反を報告
引用返信
■34264 / ResNo.2)  解決しました!
□投稿者/ kohei 一般人(2回)-(2019/05/26(Sun) 17:37:41)
  • アイコン2019/06/02(Sun) 17:32:13 編集(投稿者)
    2019/05/26(Sun) 22:32:05 編集(投稿者)
    2019/05/26(Sun) 22:31:53 編集(投稿者)

    > ターゲットとしている .NET Framework バージョンと
    > 実行環境の OS バージョンは何でしょうか?

    .NET Frameworkは「2.0」にしてました。
    これを、プロジェクトのプロパティから、選択肢の中の最新の「4.7.2」に変更したら、
    ちゃんと字間があくようになりました!
    (ちなみに、OSはWindows10です。まず3.5にしてみてダメ、4.6でもダメ、4.7.2に変更でOKになりました。)

    ほぼ初めてVisualBasicでプログラムを作ってみてるのですが、
    プロジェクト作り始めて「.NET Frameworkはどれ使う?」と聞かれたときに、
    「ブログで公開したりした時に、バージョンが古い方が他の人が使いやすいのかな?」
    とか思って、なんかよく見る「2.0」にしてみたのでしたww。

    RTFについて学んでいるなんて状況には程遠く、ネットのあちこちから拾い集めて
    なんとかプログラムを作ってみています。
    あと二息ぐらいで完成すると思うので、完成したらブログにアップします。
    https://blog.goo.ne.jp/kohei-m/e/18fadcb17eeea12d1932dcfab4b01723

    ご回答、大変ありがとうございました!

    (追記)
    力作(?)、完成しました〜。
    https://blog.goo.ne.jp/kohei-m/e/7981a3392f041a855b9c426e332be395
    大変ありがとうございました。
解決み!
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-2]



■記事リスト / ▲上のスレッド
■34257 / 親記事)  DrawImage でメモリ不足エラー
□投稿者/ たけさん 一般人(1回)-(2019/05/16(Thu) 15:34:25)
  • アイコン環境/言語:[環境(Windows10 64bit)、使用言語(Visual Studio2013 VB.NET)] 
    分類:[.NET] 

    2つの画像の重なる箇所を画像として切り取り処理を行っています。
    350KBのファイルは問題ないのですが、32MBなどのファイルは、DrawImage でメモリ不足となってしまいます。
    ご教授宜しくお願い致します。


    Dim part As ePart = _parts.Parts(0)
    Dim 画像@ As RectangleF = New RectangleF(位置,サイズ)
    Dim 画像A As RectangleF = New RectangleF(位置,サイズ)
    Dim roiTrim As RectangleF = RectangleF.Intersect(画像@, 画像A)
    Dim dst As Bitmap = New Bitmap(幅, 高さ)
    Dim g As Graphics = Graphics.FromImage(dst)

    Dim B切り取る部分の範囲 As RectangleF
    Dim C描画する部分の範囲 As RectangleF

    g.DrawImage(part.Image, B切り取る部分の範囲, C描画する部分の範囲, GraphicsUnit.Pixel)
    trimImg = dst
    g.Dispose()
違反を報告
引用返信

▽[全レス3件(ResNo.1-3 表示)]
■34258 / ResNo.1)  Re[1]: DrawImage でメモリ不足エラー
□投稿者/ 魔界の仮面弁士 大御所(1227回)-(2019/05/16(Thu) 16:31:32)
  • アイコンNo34257に返信(たけさんさんの記事)
    > 350KBのファイルは問題ないのですが、32MBなどのファイルは、DrawImage でメモリ不足となってしまいます。

    メモリ不足となるのであれば、残念ながら GDI+ または実行環境の
    限界ということで、どうにもならないような気がします。

    それでなくとも、巨大なファイルを DrawImage すると
    パフォーマンスが目に見えて悪くなるという問題がありますし。
    https://dobon.net/vb/bbs/log3-39/23844.html


    駄目元で、OpenCV で読み込めないか試してみるのはどうでしょう。
違反を報告
引用返信
■34259 / ResNo.2)  Re[2]: DrawImage でメモリ不足エラー
□投稿者/ たけさん 一般人(2回)-(2019/05/16(Thu) 18:53:41)
  • アイコン
    ご回答ありがとうございました。
    参考になりました。限界という事で納得しました。
    OpenCVも試してみたいと思います。
違反を報告
引用返信
■34260 / ResNo.3)  Re[3]: DrawImage でメモリ不足エラー
□投稿者/ たけさん 一般人(3回)-(2019/05/16(Thu) 18:56:20)
  • アイコン
    解決とさせて頂きます。

解決み!
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-3]






Mode/  Pass/


- Child Tree -

2019/07/24(Wed) 14:12:51 に作成されたキャッシュを表示しています。
生のデータを表示する | キャッシュを最新にする