コメント: キーワードチャンネル ソースコードリリース

GooBlogのコメントをGetするプラグイン(要Perl環境)
http://heimdallr.info/wiki.cgi?action=ATTACH&page=ChannelExtensionPluginAPI%BB%C5%CD%CD&file=GooBlog%2Elzh

そのソースコード
http://heimdallr.info/wiki.cgi?action=ATTACH&page=ChannelExtensionPluginAPI%BB%C5%CD%CD&file=HeimDLL%5FSrc%2Elzh

Delphiでこれからプラグインを作ろうと想う人にはちょっぴり参考になるかも?
Delphi6Personalは無料なので良い感じです。

投稿者 瞳子 : 2005年03月24日 20:24

> ntdll.dllのメモリ管理周りの問題?っぽいのを回避できたのですが如何でしょうか?
落ちることはなくなりましたが、PluginGetInfoがFALSE(数値としては0)を返しているように見えます。
VC++のDebugモード、Releaseモード、ともにそうなります。
しかし、別のPCで(VC++を使わずに)試してみるとTRUEを返しているようです。
環境によってTRUEを返したりFALSEを返したりと不思議な挙動を見せています。謎ですね。

> plugin作るのって難しいですね~
今のところの難しさは、CとDelphiの違いに起因しているところがほとんどですねー。
本当に難しいのはこれからです。たぶん。^^;
でも1つ作ってしまえば2つ目以降は楽ですよ。

投稿者 MASATO : 2005年03月23日 23:56

http://heimdallr.info/wiki.cgi?action=ATTACH&page=ChannelExtensionPluginAPI%BB%C5%CD%CD&file=test+%281%29%2Elzh

ntdll.dllのメモリ管理周りの問題?っぽいのを回避できたのですが如何でしょうか?
これでもPluginGetInfoで落ちますでしょうか?

これで大丈夫そうならPluginStoreChannelInfoとPluginLoadChannelInfo以外の部分は本実装固めてみようと思います。

plugin作るのって難しいですね~

投稿者 瞳子 : 2005年03月23日 17:22

HeimdallrをDebugモードで実行すると、最初のPluginGetInfoで落ちます。
Releaseモードで実行すると、PluginGetInfoは問題ありません。
ううむ良く分からない動作をしますね。

とりあえずReleaseモードで見ていますが、
PluginGetInfoが呼び出されるところまでたどり着けない状況です。
PluginCreateChannelが呼び出されるところは見てダイアログが表示されることは確認したのですが、どうもこの関数がfalseを返すようです。何か操作が足りないのでしょうか?

推測ですが、PluginGetInfo関数の型が仕様と異なるのではないかと思います。
ここらへんがおかしいと動作が不安定になり、落ちたり落ちなかったりするようになる恐れがあります。

PluginGetChannelにも問題があるのかもしれませんが、
Debugモードで実行すると、最初のPluginGetInfoで落ちるというのはおかしいので、とりあえずこれから解決していった方が良いのではないかと思います。

投稿者 MASATO : 2005年03月22日 23:15

http://heimdallr.info/wiki.cgi?action=ATTACH&page=ChannelExtensionPluginAPI%BB%C5%CD%CD&file=test%2Elzh

PluginGetChannelでHeimdallrが強制終了してしまうです(泣
原因を教えていただけると助かります。

やっていることは
plugin/test/gettest.xmlの内容をpstrOutputに吐き出しているつもりです。

投稿者 瞳子 : 2005年03月22日 18:22

そういえば、プラグインフォルダの下には勝手にディレクトリばこばこ掘っちゃっても問題は無いのでしょうか?
設定とかいろいろ保存するための場所をプラグインに与えてやりたいのですが…

投稿者 瞳子 : 2005年03月22日 16:14

> PluginGetInfoのIDの末尾がchannelで終わらないとダメなのは仕様ですか?
なんでも良いはずです。URL形式でなくても良いです。

> それ以降の関数についても仕様に追加されるのをお待ちしています。
ぼちぼちと追加していきます。

投稿者 MASATO : 2005年03月18日 22:34

とりあえず
http://heimdallr.info/wiki.cgi?action=ATTACH&page=ChannelExtensionPluginAPI%BB%C5%CD%CD&file=test%2Edll
PluginCreateChannelで画面出すところまでは作れましたので、それ以降の関数についても仕様に追加されるのをお待ちしています。

投稿者 瞳子 : 2005年03月18日 11:49

原因判ったかも。

PluginGetInfoのIDの末尾が
channelで終わらないとダメなのは仕様ですか?

投稿者 瞳子 : 2005年03月18日 11:44

> あとHeimdallr1.8なのにApp Verが1.7.0.0でした。
バグ報告ありがとうございます。
次のバージョンで直しておきます。

> Heimdallrプラグインのデバッグ&テスト用のアプリとか用意されてませんでしょうか?
無いのです。作ろうかとも思いましたが、Heimdallr直接使った方が楽そうだったのでそうしてしまいました。
DelphiとC(というかWin32 SDK)の型の違いから発生したエラーっぽいですね>アプリケーションエラー
私もCの型がどのようにDelphiにマッピングされるのか分からないのでなんとも・・・

投稿者 MASATO : 2005年03月17日 21:30

アプリケーションエラーに苦しめられてます~。
Heimdallrプラグインのデバッグ&テスト用のアプリとか用意されてませんでしょうか?

API単位で動作確認したいですし、ソース見てもC++いまいちわかりませんので動作で見たいです~

投稿者 瞳子 : 2005年03月17日 18:33

__stdcall使わなかったためのエラーでした
Delphiで作っているのであまりソースから丸コピーできないのがつらい~
完成したらDelphiでの作り方の特集ページを書きます。

投稿者 瞳子 : 2005年03月17日 14:22

作成したプラグインをプラグインフォルダに置いたところoffset: 7268eでエラー発生しました。

あとHeimdallr1.8なのにApp Verが1.7.0.0でした。

投稿者 瞳子 : 2005年03月17日 13:33
コメントする









名前、アドレスを登録しますか?