現在、以下の構成でアプリケーションを開発しています。
フォーム(C#)⇔ラップDLL(C++/CLI)⇔処理(C++ネイティブのDLL多数)
C++DLLのひとつにクラスAがあるとします。
このクラスAを含むDLLは他のDLLにリンクされています。
このクラスAの実体がアプリケーションの中で一つしかないようにするにはどのようにコーディングすれば良いのでしょうか?
シングルトンパターンについて書かれたHPを参考につくってみたのですが、アプリケーションを実行するといくつも実体が作られています。
class __declspec(dllexport) DataStore
{
private:
DataStore():// コンストラクタ
{};
~DataStore() {};// デストラクタ
public:
// このインスタンスを使用してメンバにアクセスする。
static DataStore&GetInstance()
{
static DataStoremyInstance;
returnmyInstance;
}
};
No.1ベストアンサー
- 回答日時:
2つ確認したいことがあります。
・ひょっとして、GetInstance()メソッドの(宣言ではなく)定義をヘッダーファイルに書いていませんか?
・もし上記のようになっているならば、GetInstance()メソッドの定義をソースファイルに移してみたらどうなりますか?
回答ありがとうございます。
はい、質問のソースコードはヘッダファイルに書いています。
GetInstance()メソッドをcppに持って行くと正常に動作しました!
ヘッダに直接書いていた場合にダメなのはどうしてでしょうか?
inline展開されてmyInstanceが別実体になってしまったのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Windows 10 IT初心者です! powershellで以下のようなエラーが出ました オブジェクト参照がオブジェクト 1 2023/05/17 11:30
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- Java javaのクラスの分け方について質問です。 APIの内部用と外部用でクラスを分けたいのですがインター 2 2022/04/26 16:06
- フリーソフト cygewf-2.dllがない、と表示され、ダウンロードしたファイルが動作しない 2 2023/03/27 11:05
- ノートパソコン .dllファイルがありませんと表示される 5 2023/04/30 03:03
- Java java final 1 2022/06/10 22:49
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CloseとDisposeの違い
-
クラスの実体を一つにする方法
-
VBAでCOPYを繰り返すと、処理が...
-
「ご処理進めて頂きますようお...
-
Excelシート上のマクロを登録し...
-
「PC Helpsoft Driver Updated...
-
エクセルで、日付を入力すると...
-
サブフォームのイベント取得
-
UWSC 画像認識で条件分岐
-
switch の範囲指定
-
スマホF-51Bに緊急時情報画面で...
-
VBA シート毎に画像挿入
-
csvに保存しているデータをURL...
-
DAOでSQLServerに接続し、LeftJ...
-
VBA エンターキーでイベントに...
-
お家デートをしててハグを長い...
-
UWSCを使って画像リンクをクリ...
-
uwscの画像認識に失敗します。
-
UWSC「画像が無い場合」
-
エクセル2000VBAでオブジェクト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CloseとDisposeの違い
-
C# 超初心者です。 this.Refres...
-
[C#]FormクラスのShowメソッド...
-
DLL内のイベントをハンドリング
-
[swift]動的なキーを持つJSONの...
-
C#のインスタンスを参照渡ししたい
-
Try~Catch、Finallyについて。
-
objective-C(Xcode)に関して...
-
Graphicsプロパティ
-
OCXのメソッドの引数に文字列を...
-
コールバックでイベントを使う...
-
vb.net フォームアプリケーシ...
-
フィールド(メンバ変数)のプリ...
-
objective-cにはCのような関数...
-
VB.NET スプラッシュスクリー...
-
クラスの実体を一つにする方法
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
Excelシート上のマクロを登録し...
-
エクセルVBAで、MsgBox やInput...
おすすめ情報