MetaTrader拡張モジュール(DLL)の作成 - ページ 4

 

ここで、EXCEPTIONです。

重大な エラーが発生しました

時間 : 2009.03.05 14:32

プログラム : クライアントターミナル

バージョン : 4.00 (ビルド: 220, 2008年11月7日)

OS : Windows Vista Professional 6.0 Service Pack 1 (Build 6001)

プロセッサー : 2 x X86 (レベル15)

メモリ : 4194303/4194303 kb

例外 : C0000005

アドレス: 8B222B17

アクセスタイプ: 読み出し

アクセス・アドル : 8B222B17

レジスタ : EAX=00000000 CS=0023 EIP=8B222B17 EFLGS=00010246

:EBX=0045FE84 SS=002b ESP=061BFEF8 EBP=061BFF30

:ECX=00000000 DS=002b ESI=05703E68 FS=0053

:EDX=000000FF ES=002b EDI=05703E70 GS=002b

スタックトレース : 004552FD 76672DEB 7613E3F3 779BCFED

: 779BD1FF 00000000 00000000 00000000

:00000000 00000000 00000000 00000000

:00000000 00000000 00000000 00000000

モジュール:

1 : 00400000 004F6000 c:\program files (x86)\fxdd - metatrader 4 ↵terminal.exe

2 : 10000000 0001B000 c:㊙Windowssystem㊙expertsample.dll

3 : 16080000 00019000 c:\program files (x86)⇄mdnsnsp.dll

4 : 71E70000 00123000 c:\windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\msvcr90d.dll

5 : 746D0000 000BA000 c:\windowsGuide.dll

6 : 74950000 00066000 c:\windowsSYSTEM32 OPTIONS.DLL

7 : 74AF0000 00014000 c:\WindowsSystem32

8 : 74B10000 00021000 c:⾸⼭システム32 ⾳Audioses.dll

9 : 74B40000 00065000 c:\WindowsSystem32

10 : 74BB0000 0011B000 c:\windowssystem32 Filtermfc42.dll

11 : 74DB0000 0002F000 c:\WindowsSYSTEM32 CONTEMPORARY.DRV

12 : 74DF0000 0002D000 c:\windowssystem32 Intrust.dll

13 : 74E70000 00005000 c:⾸⽊Windowssystem32↩msimg32.dll

14 : 74E80000 00038000 c:\windowssystem32 Intecodbcint.dll

15 : 74EC0000 00005000 c:\windowssystem32

16 : 74F20000 00006000 c:\windowssystem32 Intrasadhlp.dll

17 : 74F90000 00027000 c:\WindowsSYSTEM32 OPTIMATE.DL

18 : 74FC0000 00080000 c:\windowssystem32 Intuxtheme.dll

19 : 75040000 00007000 c:\windowssystem32 Guessmidimap.dll

20 : 75080000 00009000 c:\windowssystem32 Intheticmacm32.drv

21 : 75090000 00004000 c:\windowsSYSTEM32 OPTICSUSER.DLL

22 : 750B0000 00007000 c:\windowssystem32 Intheticavrt.dll

23 : 750C0000 0002C000 c:\WindowsSYSTEM32 PATH APPHELP.DL

24 : 750F0000 0003B000 c:\WindowsSYSTEM32 PATH SWSOCK.DL

25 : 75130000 0003B000 c:\WindowsSYSTEM32 OPENH.DL

26 : 75170000 00012000 c:\windowssystem32 Inthesispnrpnsp.dll

27 :751A0000 00008000 c:\windowssystem32}{winrnr.dll

28 : 751B0000 0000F000 c:\WindowsSYSTEM32 OPTICALNAPINSP.DL

29 : 751C0000 0000F000 c:⾸⽊⼭System32↩nlaapi.dll

30 : 751E0000 00021000 c:\windowssystem32 Inthdhcpcsvc6.dll

31 : 75210000 00007000 c:\windowssystem32 Intèswinnsi.dll

32 : 75220000 0002C000 c:\windowssystem32 Inthesisdnsapi.dll

33 : 75250000 00035000 c:\windowssystem32 Intheticdhcpcsvc.dll

34 : 75290000 00019000 c:\windowsSystem32 Intiphlpapi.dll

35 : 75440000 0019E000 c:\windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.6001.18000_none_5cdbaa5a083979cc\comctl32.dll

36 : 75780000 0001E000 c:\windowssystem32³³.dll

37 : 757A0000 00012000 c:\windowsSystem32/Theesemsasn1.dll

38 : 757C0000 000F1000 c:\windowsSystem32 Intêcrypt32.dll

39 : 758E0000 00039000 c:\WindowsSYSTEM32 CENTUREACC.DLL

40 : 75920000 00032000 c:\WindowsSYSTEM32 PWM.DL

41 : 75A90000 00060000 c:\windowsSyswow64 Intêcur32.DLL。

42 : 75B50000 0007D000 c:\windowssyswow64 ⇄usp10.dll

43 : 75BD0000 000D0000 c:\windowsSyswow64 Intheticwininet.dll

44 : 75CA0000 000C8000 c:\windowssyswow64 Intheticmsctf.dll

45 :75E00000 00045000 c:\windowsSyswow64 Intiertutil.dll

46 : 75E50000 0004A000 c:\windowssyswow64 Filterwldap32.dll

47 : 75EA0000 00006000 c:\windowssyswow64 Filternsi.dll

48 : 75EB0000 00009000 c:\windowssyswow64 Filterlpk.dll

49 : 75EC0000 00084000 c:\windowssyswow64 Intêclbcatq.dll

50 : 75F50000 00090000 c:\windowsSyswow64 Intêgdi32.dll

51 : 75FE0000 000D0000 c:\windowssyswow64 Filter32.dll

52 : 760B0000 00110000 c:\windowssyswow64 ㊙kernel32.dll

53 : 761C0000 00029000 c:\windowssyswow64 ⇄imagehlp.dll

54 : 761F0000 00003000 c:\windowssyswow64 Filternormaliz.dll

55 : 76200000 00144000 c:\windowssyswow64 Filterole32.dll

56 : 76350000 0018A000 c:\windowssyswow64 Filtersetupapi.dll

57 : 764E0000 0002D000 c:\windowssyswow64 Filter2_32.dll

58 : 76510000 000C6000 c:\windowssyswow64 Filteradvapi32.dll

59 : 765E0000 00073000 c:\windowssyswow64 Filtercomdlg32.dll

60 : 76660000 000AA000 c:\windowssyswow64 Filtermsvcrt.dll

61 : 76710000 00060000 c:\windowsSyswow64 Intem32.dll。

62 : 76770000 00129000 c:\windowsSyswow64 Inturlmon.dll

63 : 768A0000 0008D000 c:\windowssyswow64 ↵oleaut32.dll

64 : 76930000 000F0000 c:\windowsSyswow64↵rpcrt4.dll

65 : 76A20000 00B10000 c:\windowssyswow64 Filter32.dll。

66 : 77530000 00007000 c:\windowsSyswow64 Intêpsapi.dll

67 : 77670000 00058000 c:\windowsSyswow64 Intèsshlwapi.dll

68 : 77940000 00160000 c:\windowsSyswow64 Intheticntdll.dll

コールスタック:

 

DLLの大きな問題

自分のDLLを機能 させるのに、大きな問題を抱えています。

私は最終的にEA内からDLLを呼び出すことができるポイントにそれを得た、そしてそれは私に127のエラーを与えない。残念ながら、毎回例外が発生します。

プロジェクト全体とMT4ファイルを添付しました。

もし、プログラミングの神様の一人が、それを簡単に見てくれるなら、私はとても感謝します。

[注: Visual Studio C++ Express 2008 Editionでコンパイル、Vista x64 Ultimate dual-core w/6GB RAMで動作しています].

-Jason

ファイル:
dll_test.zip  1421 kb
 

メタトレーダー用Dev-C++エディタによる.DLLファイル作成

メタトレーダーで使用できる.dllファイルをDev-C++で作成した経験のある方はいらっしゃいますか?

私が試したところ、.defファイルが.dllファイルに正しく含まれていないと思われ、127のエラーに なりました。

Visual StudioでMetatrader用の.dllファイルを作成する方法のチュートリアルを見つけましたが、無料版では私が見たチュートリアルのようなMFC-Dllを作成する可能性がないため、無料版ではできません。

もし、オープンソースのフリーエディターDev-C++でMetatrader用の.dllファイルを作成する方法があれば、多くの人の役に立つと思います。

 

dev-C++の名前のマングリング ...

こんにちは、Timです。

dev-c++を使用する場合、defファイルは自動的に生成されますが、問題は、以下のような関数 名になってしまうことです。

EXPORTS

_Z11GetSMAArrayP8RateInfoiiPd@16 @ 1

_Z12GetHighValueP8RateInfoii = _Z12GetHighValueP8RateInfoii@12 @ 2

_Z12GetHighValueP8RateInfoii@12 @ 3

_Z13GetCloseValueP8RateInfoii = _Z13GetCloseValueP8RateInfoii@12 @ 4

_Z13GetCloseValueP8RateInfoii@12 @ 5

_Z11GetSMAArrayP8RateInfoiiPd = _Z11GetSMAArrayP8RateInfoiiPd@16 @ 6[/PHP]

Now you need to make sure you add the following check around your code

[PHP]

#ifdef __cplusplus

extern "C" {

#endif

#ifdef __cplusplus

}

#endif

このサンプルは、VS2008で作成したものですが、今回はdev-c++を使用しています...

これが役に立つといいのですが

ファイル:
 

こんにちは、ミスチグリです。

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

私が見つけたオンラインビデオも、あなたのビデオでした。

私は、あなたの新しい例をdev-c++エディタで試しましたが、それはうまくいきました。

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

ティム

 

こんにちは、パトリック。

もし私が間違っていなければ、あなたは数年前にIBFXで仕事をしたことがありますね。

チュートリアルをありがとうございます。

 

DLLで外部コードを作るのは面白いです。私の知る限り、ex4ファイルよりもリバースエンジニアリングが難しくなります。

しかし、私は、httpリクエストやリモートmysqlに直接接続するために使用することができるコードのチャンクが欲しいです。

 

NS2-32.dll

こんにちは、皆さん。

私はこのライブラリを使用しようとしている問題があります。

I put them in metatraderexperts ╱library

.defファイルのパスを正しく定義しました。

... しかし、私のEAは、このエラーを登録に印刷します:-65495

何が問題なのでしょうか?

そして、それを解決する方法を教えてください。

.defファイルが破損している可能性はありますか?

前もってありがとうございます...

 
veematics:
こんにちは、パトリック。

数年前にIBFXで仕事をしたことがあると思いますが、今もIBFXで仕事をしていますか?

チュートリアルをありがとう...これを待っていたんだ。

こんにちは、Veematics。

申し訳ありませんが、今まであなたの投稿を見ませんでした :P

そうですね、2年半ほど前まではIBFXで仕事をしていて、時々コンサルティングをしていました。

もうティックを集めるのはやめたんだ。面倒だし、もう使うこともないからね。

パトリック

 
fedecosta:
こんにちは、皆さん。

このライブラリを使おうとすると問題が発生します。

I put them in metatraderexperts ╱library

.defファイルへのパスを正しく定義しました。

... しかし、私のEAはこのエラーを登録に印刷します:-65495

何が問題なのでしょうか?

そして、それを解決する方法を教えてください。

.defファイルが破損している可能性はありますか?

よろしくお願いします...

よくわからないのですが、そのライブラリは見覚えがあり、ウェブサイトに接続するためにそれを使っているのでしょうか?代わりにwininet.libを使用してみましたか?

私は、ここでの問題はdefファイルではないと思いますし、あなたのDLLはロードして正しく動作しないでしょう....もし、もっと詳しい情報(つまり、あなたがDLLで使用しているコードの一部)を提供していただけるなら、お役に立てるかもしれません。

パトリック