HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0322
SADOUS【緊急】【一時的な作業協力求む】外部dllの呼び出し失敗や文法ミス誤検出など7解決


SADOUS

リンク

2015/3/22(Sun) 04:18:23|NO.68012

いつまでたっても解決の糸口が見つけられず
今回の修正作業だけ協力をお願いすることにしました。
(skypeやソース公開など)

ソースをいくつかのファイルに分割してのプログラミングは初めてで、
どうも把握しきれていない部分があるのかと思うのですが、もう頭がパンク寸前です…
どうかご協力お願いします!!



(状況
コンフィグ画面を別ファイルで作ってincludeした途端に
メインソースのラベルの行やマクロが文法ミスとして検出されたり、
見た感じ誤りは無いように見えるものがF5テスト実行したら
外部dllの呼び出しに失敗とダイアログが出たり…



この記事に返信する


Flat

リンク

2015/3/22(Sun) 04:20:53|NO.68013

ソースがないので修正のしようがありません><



SADOUS

リンク

2015/3/22(Sun) 04:27:42|NO.68014

失礼しました。
https://www.dropbox.com/sh/ms1grj6zbsk4xm2/AAB22XXWYejlM2BUTdI63eSca?dl=0
dropboxファイル共有リンクですが、zip版は必要ありませんか?



Flat

リンク

2015/3/22(Sun) 04:35:20|NO.68015

ラベル名に*drawtextを使用していますが、これだと
User32.dllのDrawText(実際にはDrawTextAのエイリアス)と競合します。
それが原因でコンパイルエラーが発生しています。

本題とは関係ありませんが、複雑な#defineマクロを使用している箇所は
#deffunc等に置き換えたほうがデバッグがしやすくなります。



SADOUS

リンク

2015/3/22(Sun) 04:39:56|NO.68016

ありがとうございます!
コンフィグ画面で使っていたuser32.dllが競合していたんですね
コンフィグ画面をincludeした際の問題は解決しましたが、
外部dllの呼び出し失敗について考えられる原因とは…



Flat

リンク

2015/3/22(Sun) 04:52:55|NO.68017

routine_drawtext.hspの134行目ですよね?
readyを見てもらえると分かるかと思いますが、バッファサイズを超過しています。
そこを直せばよいかと。



SADOUS

リンク

2015/3/22(Sun) 05:02:01|NO.68018

>routine_drawtext.hspの134行目ですよね?
>readyを見てもらえると分かるかと思いますが、バッファサイズを超過しています。
hspdxを使っていてよく起きるエラーだったので、
バッファサイズを超えたと考えたこともあったのですが・・・見落としていた

確保したバッファサイズを超えて描写したものだと思ってひたすら探したのに、
文字素材画像を差し替えたことによって
素材が入ったバッファのyサイズが小さくなっていた→存在しないy座標を参照
素材変えてから文字描写ルーチンに修正入れていなかったな



原因がわかって良かったです
これで今後、同類のエラーには対処できるようになった(はず)
Flatさんありがとうございました!

(昼までに仕上げなきゃボスに呆れられる!!!



Flat

リンク

2015/3/22(Sun) 05:04:19|NO.68019

無事解決したようで良かったです。
今後もがんばってください。



ONION software Copyright 1997-2021(c) All rights reserved.