ブログ

割とコンピュータよりの情報をお届けします。

C#とCとのやり取りでCから配列変数を渡す例

C#からDllImportする場合について可変長の配列を渡しあうのがつかれた。
DLLから可変長文字列を渡す場合にはstringを渡せばよい。stringとchar*(ただし,最後に\0が付いている文字列に限る)の変換関係は支援がついている。
固定長の配列はDllImportの時の記述で引数型としてByte[]やInt32[]やDouble[] などを書いておけばよい(固定長といっても,呼び出し時に配列サイズが分かっていればよいだけで,配列自体は呼び出し前までにサイズが固定されればよい(決まればよい))。この方法は,.NET Compact Frameworkでも使用できる。ただし,長さが.NET側で分からなくて,呼び出された先のDLLの側で決まる場合には少しトリックが必要である。その場合,DLL側ではSAFEARRAYとして扱うとよさそう。

To Detail Page

2018/08/11 コンピュータ   TakeMe

Microsoft Visual Studio Express 2017 for Windows Desktop でDLL作成して使用

いろいろやってみて
Microsoft Visual Studio Express 2017 for Windows Desktop でDLL作成したらそれを使う際に注意があった。

To Detail Page

2018/08/08 コンピュータ   TakeMe

open62541のビルドをVisual Studio Express 2017 for Windows Desktopで行う

OPC-UAの続き。python-opcuaは簡単なアプリでもPythonをインストールする必要があることに問題を感じてopen62541を使ってみようかと思った。

To Detail Page

2018/08/07 コンピュータ   TakeMe

Microsoft Visual Studio Express 2017 for Windows Desktop でDLL作成

Visual Studio Professionalならテンプレートがついていてすぐできるのだが,Expressではdll作成のテンプレートがないので自分で設定しないといけない。

(なお,いったんプロジェクトを作ってしまうとExpressでも使える。)

To Detail Page

2018/08/06 コンピュータ   TakeMe

python-opcuaのnodeidのつけ方に苦労した

最近 自分で作ったアプリとほかのソフトのつなぎでOPC UAに対応を迫られる場面があって,node opcuaを使用したが,通信が問題なく続いている間は問題がないが,いったん不具合があったときに再接続に失敗する不具合が解消せずpython-opcuaに乗り換えることになった。ところが,サンプルを見ても"ns=2;i=3"などのnodeid?のつけ方がわからずに苦労した。

To Detail Page

2018/08/05 コンピュータ   TakeMe

CSSのtransitionが効かない項目もある

CSSのtransitionなるものを調べていたら一部の項目は効かないことが分かった。

To Detail Page

2018/08/04 コンピュータ   TakeMe

plotly.jsを使ってみた

plotly.jsはオープンソースになっていると聞いて使ってみた。

To Detail Page

2018/08/03 コンピュータ   TakeMe

Node.jsでtcpサーバとクライアント作成の試行

前の記事でSocket.ioばかり使用していたが,とりあえずsocketでもよいのではないかと思って調べていたら,参考になりそうな記事があった。

To Detail Page

2018/07/29 コンピュータ   TakeMe

vue-cliでインストールしたwebpackでnpm run buildで用意したコンテンツをCefSharpで使用

vue-cliでインストールしたwebpackでnpm run buildで用意したコンテンツをCefSharpで使用するときの注意点。

To Detail Page

2018/07/29 コンピュータ   TakeMe

Pythonでsocket.io 2.0のクライアントはsocketIO-client-nexusに限定されているかもしれない

Python用のsocket.ioのクライアントは結構更新が遅くなっていて,今ではsocket.io 2.xに対応していないものばかりになってしまった。

この前の記事にあるsocket.ioの例につなげるクライアントだけを書いてみた。

To Detail Page

2018/07/28 コンピュータ   TakeMe