問題タブ [win64]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matlab - NI ボードを使用した DAQ: Matlab & Win64
何も知らされていない傲慢な瞬間に、私は新しいデータ取得コンピューターを x64 で win7 を実行することに決めました。コンピューターで実行されているmatlab 2012aと、データ取得を行うNI PCIe6363カードがあります。私の質問は、新しい daq.Session インターフェイスと、バックグラウンドでデータを収集する方法 (私の実験の重要な要素) についてです。
私はいくつかのサンプルコードを含めています。コードが期待されることを説明しようと思います。で、実際どうなんだろう……。
コード:
期待される機能:カードからのデータを約 5 秒間連続してログします。最後のいくつかのデータ ポイントがスキャンされる直前に、データを適切な場所に保存します。その後、取得を停止します。
実結果:
適切な場所にデータが保存されていません。実際には、ScansAcquired の数がゼロであると主張しています。そしてただ止まる。
何が起こっている?リスナーをどのように設計すればよいですか?
=========
\begin{暴言}
セッションベースのDAQに関するmatlab Webサイトの文書化がどれほど不十分であるかは信じられません。タイミングの取れたデジタル I/O がありませんか? おい!
\end{暴言}
=========
-bas
c++ - 64 ビット vc++ プログラムが 32 ビット モードで実行されているようです
Visual Studio 2010 (Windows 7 64 ビット) で 64 ビットの C++ プロジェクトを作成しました。
私は 64 ビット アプリケーションを実行していると思っていましたが、次のコードはtrueを返しました。
しかし、関数を呼び出すと、FALSEIsWow64Process
が返されました...
もっと奇妙なこと:
LoadLibrary()
dll をロードする呼び出しはc:\windows\system32\some.dll
うまく機能します- dll の読み込み
c:\windows\sysWow64\some.dll
に失敗します (エラー コード 193: some.dll は有効な win32 アプリケーションではありません)
これらのエラーはすべて、アプリケーションが 32 ビット モードで実行されていることを示していますが、これはポインタ型が 8 バイト長であるという事実に反しています。
私は混乱しています、助けていただければ幸いです!
python - PDFFileReader が使用後に PDF を閉じない
Win 64ビットでPython 2.7を実行しています。PDFをファイルにダウンロードし、PDFを開いてテキストを抽出し、最後にPDFを削除しようとしていますが、Pythonを削除しようとするとエラーが発生します(Pythonコードを使用して手動で削除しようとしていますpdf - Windows は、ファイルが pythonw によって使用されていることを示しています)。私の簡略化されたコード:
返されたエラー:
助言がありますか?
.net - VS2012の例外に困惑-飲み込む悪夢
私はここでこの質問をし始め、非常に有益な答えを得ましたが、それでも問題を回避することはできません。既知の問題であるため、この質問は終了しました。私はそれが既知の問題であることを知っています:私の質問はそれについて私がおそらく何ができるかということです。
要約すると:
- VSデバッガーは、Windows 64ビットシステム(私の場合はWin 7 64ビット)でデバッグするときに、Form_Loadイベント(またはそれからの呼び出し)で発生する未処理の例外を飲み込みます。現状では、これによりVSは開発環境として役に立たなくなります
- 1つの提案は、コードをFOrm_Loadイベントではなくコンストラクターに移動することでした。コードが見えなくなって「設計者が作成した」モジュールに移動するため、これは実行したくありません。それらのモジュールは、私がまだ変更する能力がないコードでいっぱいです。そして、私はデザイナーが私がそこに置いたコードを一掃したり変更したりしないとは信じていません。
- もう1つの提案は、初期プロシージャ(Sub Mainなど)にコードを挿入することにより、未処理の例外をダミーの空の例外ハンドラーにポイントすることでした。 これは動作します。ここでの問題は、アプリケーションフレームワークをオフにした場合にのみ、起動時にサブメインを実行できることです。次に、「メインフォームまたは最後のフォームが閉じるまで」の有効期間でアプリケーションを実行できません。
- スタートアップフォームのサブメインが実行され、適切なタイミングで(つまり、Form_Loadの前に)実行されていると思いました。したがって、引き続きApplication Frameworkを使用して、この特別なコードを何よりも先に実行することができます。私はここで間違っているかもしれません。いずれにせよ、私はそのフォームのコードを少し変更しましたが、Mainは時間内に実行されなくなりました-実行された場合(Form_Loadが最初に実行され、同じ問題が発生します)。コードをForm_Loadに移動しようとしましたが、それ自体でエラーが発生します。
- 想定される修正プログラムがあります(KB976038)。私はそれを適用しました(再起動が必要です):しかし、例外が飲み込まれる代わりに、vshost.exeアプリケーションエラーが発生し、それでもコードをデバッグできません。苛立たしいことに、アプリケーションエラーをOKすると、VSデバッガーに通常の未処理の例外ボックスが表示されますが、約1/10秒で消えます。
だから私のオプションは何ですか?
ここでの共通のスレッドは、私は経験豊富なプログラマーですが、VB.NETとVB6で物事を成し遂げることに慣れており、この問題の原因の完全な説明を理解する能力があるということです。
考えられるすべての対策は本当に私の能力を超えており、私が気づいてさえいないかもしれないあまりにも多くの落とし穴を紹介します。私は考えずにはいられません-なぜ私はコーディングに取り掛かることができず、例外を破るために信頼できるデバッガーを使用して、私が犯す避けられないコーディングの間違いに対処できないのですか?
現時点では、(私よりも専門家からのアドバイスを受けて)VSに未処理の例外を適切にキャッチして中断させると、これは今日だけになると思います。明日または来週のコードで私が行うことが、VSを今のところ適切に動作させている慎重に構築されたセーフティネットを壊さないかもしれないかどうか誰が知っていますか?
私の.NETの専門知識では、この段階でコンストラクター/デザイナーが作成したコードの近くに立ち入ることは許可されるべきではないことを自由に認めます。私はただ物事を成し遂げたいのです!したがって、私のオプションは次のようになります。
- 私がこの問題の解決策を決して壊さないように、すべての筋金入りのことを学びましょう。これには、数年ではないにしても数か月かかります。また
- 諦めて、XPのVS2008Expressに戻ります。また
- 会社にWindows764をビンに入れるように説得し、開発OSとしてWindows732を提供します。
どんなアイデアや提案も歓迎します!
編集: 以下の@roadwarriorによって提案されているように、元の質問への回答で提案された回避策と、私がそれらで見つけたものは次のとおりです。
1プロジェクト+プロパティ、[ビルド]タブ、プラットフォームターゲットをAnyCPUに変更
すでにそのように設定されており、変更することはできません。TargetCPUを「AnyCPU」からx86または64ビットに変更しようとしました-効果はありません。
2デバッグ+例外、CLR例外の[スロー]ボックスにチェックマークを付けます
意図的に例外を処理し始めるとすぐに、実行/テストを悪夢にします(これは私がよく行うことです)。すべての例外は、処理されるかどうかに関係なく、「停止」になります。
3Loadイベントハンドラーにtry/catchを書き込みます
これもあまり面白くありません。開発のこの段階で、問題の原因となっている線を確認したいと思います。On Error Gotoのスコープ内にあったVB6のデバッグコードを常に嫌悪し、誰かがコールスタックの6ステップ上の手順を実行しました。私は自分のプロジェクトでそのように始めたくありません!
4 Main()メソッドでApplication.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException)を使用して、メッセージループの例外トラップがデバッグモードで無効にならないようにします。ただし、この設定では、未処理のすべての例外のデバッグが困難になり、ThreadExceptionイベントはほとんど役に立ちません。
最後の文のコメントがわかりません。しかし、このようなものはうまくいきました。私が以前の質問に答えてNeoliskによって提案されたように、私がしたことは、サブメインでこれでした:
これは私のバージョンのneoliskのコードでした-私のバージョンのVS/.NET(2012、4.5)のように、2つのハンドラーが異なる署名を持つ必要があるようにコードを変更する必要がありました。これに関する2つの問題:
a)「アプリケーションフレームワークを有効にする」のチェックを外さないと、起動時にサブメインを実行できません。これを行うと、Form1.Showにフォームが表示され、サブメインの最後に到達します。アプリケーションが閉じると、フォームはすぐに消えます。アプリケーションの[設定]ウィンドウの[シャットダウンモード]設定を覆しましたが、元に戻す方法がわかりません。
b)このコードは機能しますが、なぜ、どのように、すべての例外をカバーするのか、[デバッグ/例外]ダイアログでチェック/チェック解除することを決定するものとどのように関連するのか、またはその他の落とし穴の副作用があるのか、私にはほとんどわかりません。デバッグ時または実行時。
5コードが実際にLoadイベントハンドラーに属しているかどうかを検討します。それが必要になることは非常にまれですが、ロードが重要だったVB6プログラマーに人気があります。ユーザー設定と自動スケーリングが適用された後、実際のウィンドウサイズに関心がある場合にのみ、ロードが必要になります。他のすべてはコンストラクターに属します。
けっこうだ。元VB6プログラマーとして、私はForm_Loadの使用に慣れていますが、進歩して新しいことを学び、コードをフォームのNew()コンストラクターに移動しましょう(実際に_Loadイベントに含まれる必要のあるコードがないことを願っています) 。これで、実行が問題の行に到達したときに少なくとも例外ダイアログが表示されます。ただし、新しいウィンドウの上部に「使用可能なソースがありません(crlf)呼び出しスタックに外部コードのみが含まれています」と表示されます。この特定のケースでは、コードの間違いは私がここで見たものからデバッグ可能です(それは愚かなタイプミスです)-しかし、物事がより複雑になったときにこのようにデバッグすることは悪夢になります:何かの状態が何であるかを見る機会はありません。
一般的なコメント:
1.このプロジェクトを私たちが持っている1台のWin732ビットマシン(私のマシンではない)で実行しましたが、何の問題もありませんでした。これが私の推奨する解決策です。開発にWin764ビットを使用するのをやめるだけです。
2.「デバッガーを持っているのはラッキーだ」というコメントは面白いですが、役に立ちません。これはVS2012であり、これはおそらく動作するデバッガーを備えた開発環境であり、£££を支払う必要があります。私は自分が何をしているのかをいつ知っているかを知るのに十分長い間プログラムしてきました、そして私が何かをいじっているとき、私はそれを理解していないのでそうすべきではありません。私が特に理解していないのは、基礎となる構造ではなく(ZX81マシンコードで歯を食いしばって、そこに戻りたくない...)、VS自体です。必要に応じて、たとえばVSで例外ハンドラーを変更する方法について詳しく知ることができてうれしいですが、無意識のうちにそこに飛び込みたくないのは間違いありません。
windows-7 - 私のレジストリエントリはどこに行きますか? ウィンドウズ7、win64
Windows7 と Win64 は新しいプラットフォームであり、プログラミングに関しては、何が起こったのかわかりません。次のコマンドを使用して Windows7 64 ビットの Windows レジストリにキーを保存します。問題は、同じコードが REG_OPENED_EXISTING_KEY の戻り値を返すことができることです。これは、キーの作成が成功し、関数が後続の呼び出しでキーを読み取ったり開いたりできることを意味しますが、regedit.exe の場所でキーを見つけようとすると、単に表示されません。 HKLM_LOCAL_MACHINE/Software/MyProject にも HKLM_LOCAL_MACHINE/Software/Wow6432Node/MyProject にもないツリー
ここで何が起こっているのか、誰でもクリアできますか?
winapi - DLL は実行可能ファイルでアドレスを使用できません
64 ビット NASM でコンソール アプリケーションを作成していますが、作成した DLL に実行可能ファイルの一部を移動するまでは問題ありませんでした。これはアセンブリ レベルで DLL を使用した最初の実験です。.exe のデータ セクションで文字列のアドレスを渡すことができません...渡すと関数が失敗します。しかし、dll で .data セクションを作成し、文字列を定義して、それを RCX で SetConsoleTitleA に渡すと、魅力的に動作します。
正しいアドレスを渡していないのでしょうか、それとも DLL が EXE のデータ セクションにアクセスできないのでしょうか? これに対する「エレガントな」ソリューションは何でしょうか?
コードを貼り付けたい場合はお知らせください。
編集: DLL http://pastebin.com/jpdsihsC EXE http://pastebin.com/KbMTh9Xa
--inc.mac を無視します。これは forward dev 用です
c++ - psapi.hにEnumProcessModulesExがありません
32ビットと64ビットの両方のWindowsで実行されているすべてのプロセスを64ビットで列挙しようとしています。これは、使用しているDevc++のpsapi.hでは使用できないEnumProcessModulesExを呼び出す必要があるため、Windows8SDKをダウンロードしました。
これで、EnumProcessModulesExが定義されたpsapi.hができましたが、プロジェクトに含めると、あらゆる種類のエラーが発生します。SDKに付属しているすべてのヘッダーファイルで構成されるディレクトリへのパスを含めました。どうすればよいですか?
エラーリストは次のとおりです。
delphi - 64ビットDelphiプロジェクトで64ビットbass.dllを使用しているときに、起動時にアプリケーションがクラッシュする問題を修正するにはどうすればよいですか?
64ビットバージョンのbass.dllで64ビットDelphiアプリケーションを実行できません。DelphiXE3を使用してアプリケーションを構築しています。
アプリケーションがクラッシュし、で始まりました0xc000007b
。デバッガメッセージ:
どうすればそれを機能させることができますか?誰かが同じ問題を経験しましたか?
c++ - Windows7のC++でスリープ通知を受け取る最も簡単な方法
私は、Windows 7システムがスリープモードになっている場合に簡単な作業を行う必要があるネイティブc++アプリケーションを作成しています。そうしないと、システムが起動したときに必然的にクラッシュします。
ネイティブC++を使用してシステムイベント(サスペンド)に登録する最も簡単な方法は何ですか?
私は本当にこれらの人がやっていることをやりたいのですが、イベントハンドラーを設定してPBT_APMSUSPENDイベントを取得したい任意のクラス(GUIではない)があり、これを行う最も簡単な方法がわかりません。
Autoitscriptには、どうやらあなたが書くことができる素晴らしい方法があります
そして、私は同じように簡単なものが欲しいと思っていました....完全なメッセージポンプのセットアップなしで。