プログラミング↓の記事の続きです。コンポーネントをデザイナーで扱えないので、デザインの確認が難しい状態でした。今回はデザイナーで自作コンポーネントを扱う手順を書きます。バットノウハウなやり方ですが......。プログラミング別スレッドにおいてDxLibを動かして描画を行うプログラムで、exeから起動時に描画が停止する状況と、対応策をまとめます。プロジェクト全体はGitHubに有ります。プログラミングcやc++の関数ポインタは、相手に処理を渡したいというときに非常に便利なので、別言語でもそれっぽいことがしたいです。以前の記事ではJavaでFunctionを使ってこれを実現しました。今回は.NetのFuncを使い、VBで同じようなことを実現します。Formアプリケーションで、複数の画面で同じように使う機能(外見的な部分というよりは内部ロジック)がある場合、機能をまとめたフォームをコンポーネントとして機能を使い回すと便利です。この記事ではそのやり方をまとめます。プログラミング二度と繰り返したくないので言語化します。ソースコードを流用して別プロジェクトを作ろうとする中で、複数のプロジェクトから同じコードを使いたいので、機能のクラスライブラリへの分割を行っています。FrameWorkOpenCVでちょっとしたプログラムを作りたいけれど、WindowsとUbuntuが混ざった別々の4つ位の環境で動かしたい状況で、全部に一々環境構築するのが面倒くさい感じになりました。FrameWorkDxLibはWIndowsフォームアプリと組み合わせ、フォームやピクチャボックスに対して描画することが可能です。何もしなければDxLib由来の描画領域ができてしまい邪魔になるので、それを生成しないようにします。Vista以降ではタスクバーに以下の画像のような進捗を表示することができます。いうことでシンプルなサンプルを作成しました。GitHubにプロジェクト全体を上げてあります。上記記事をVB向けに写経したのでまとめます。GitHubにプロジェクト全体を上げています。FrameWorkCodeIQを色々な言語でやってると「入出力どうやったっけ」って場面が増えたり、出先でやる時作り直したりがダルかったりしたので、入出力類だけ自分用にまとめます。CとC#は追加したいですが、とりあえずいったん飽きたのでこれまで。前回の記事では色々とまとめた結果粒度が小さくなってしまっていたので、粒度を上げてみました。公開後に上記記事を見つけたので修正を行いました。Taskを使えば以下のコードで出来ます。処理を止めずにMsgBoxを出し、メッセージボックスのリザルトを受け取ることも出来ます(後述)。FrameWorkタイトルの通りで、結論から言うとStructureは値型であるためNothingにはなりません。FrameWork遭遇した問題への備忘録です。DxLibDotNet(@VB)ではDX.TRUEとTrueは等価ではないので、DrawGraph系関数を含め使用時には確認が必要です。作成中のプログラムでファイルのコピー待ちの時間が気になったので、非同期でやってみました。IOがボトルネックなプログラムで並列処理やって意味有るのかって言うと無いです。FrameWork備忘用に。自分はJavaではNullで初期化しておいて後から値が入っているかチェックするようなやり方をよくしていました。VBではNullは用意されていませんが、Nothingで初期化してIsNothingメソッドでチェックすることで同じように扱えます。この記事の続きみたいな記事です。調査結果では↓のように出ていました。最近VBでffmpegと連携したコードのメンテナンス(と言っていいのだろうか)をしています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。