はじめまして 宜しくお願いします。
VC++ Ver6.0 MFCで開発中です。
DLLを作成しています。
DLLではCStringクラスは使えないのでしょか。
使えないとき、CStringクラスと同様のクラスはあるのでしょうか。
LPCSTR,LPSTR等を試してみましたが、違いました。
以上です。
> DLLではCStringクラスは使えないのでしょか。
使えます。
何か使えなくなる条件とかあるんでしょうか?
DLLではCStringクラスは使えないのでしょか。
>使えます。
>何か使えなくなる条件とかあるんでしょうか?
ご返事有難うございます。
すみません 良くわっかていないのですが
1.新規作成でATL COM AppWzardのDLLを作成
2.ソースまたはヘッダに
CString str;
でコンパイルすると
「CString: 定義されていない識別子です。」
のエラーになります。
3.CStringクラスの定義方法がわかりません。
以上ですが宜しくお願いします。
CStringはMFCの一部で、ATLはMFCとは関係ありません。
ATLプロジェクトのウィザードに「MFCのサポート」という項目があり、
それにチェックをつける必要があります。
有難うございました。
解決しました。
すみませんがもう1つ教えてください。
作成したDLLをVBで使用しました。
Option Explicit
Private itf As NDMENTELib.INode
Public Const NODE_MAX As Long = 1000
Sub 設定_Click()
Set itf = New NDMENTELib.NODE
Dim index As Lon
1.DLLを作成したパソコンで実行するとOKでした。
(ディレクトリはどこでも)
2.作成したDLLを他のパソコン(dllを作成した以外)で
実行すると
Set itf = New NDMENTELib.NODE
で「ActiveXコンポーネントはオブジェクトを作成できません」
のエラーになります。
3.新規作成でATL COM AppWzardのDLLを作成に何か間違いがあるのでしょうか。
DLLの作成でATLオブジェクトの新規作成を以下の手順でおこなっています。
①属性:スレッドモデル 両方
インタフェース ディアル
アプリケーション あり
フリースレッドマーシャラにチェック
②ASP:OnStartPage/OnEndPageにチェック
固有のオブジェクト 要求
以上ですが宜しくお願いします。
教えてください
回答がいただけないので再度投稿しました。
「ActiveXコンポーネントはオブジェクトを作成できません」
がわかる方がいらっしゃいましたらお願いします。
目的のパソコンで regsvr32 は実行してありますか?
ご返事有難うございます。
>目的のパソコンで regsvr32 は実行してありますか?
・実行していません。(実行の方法もわかりませんが)
・DLLを作成したパソコンでも特に実行していませんが
こちらはなぜエラーにならないのでしょうか。
・参照設定でDLLを指定していますが、それだけではだめなのでしょうか。
宜しくお願いします。
regsvr32 [Enter]
で使用法が表示されます。
...って、 regsvr32 も知らずに ATL で com 開発?
有難うございます。
>...って、 regsvr32 も知らずに ATL で com 開発?
すみません。 知らないんです。
・REGSVR32でDLLの登録はできました。
でも
「ActiveXコンポーネントはオブジェクトを作成できません」
になります。
他に間違いがあるのでしょうか。
宜しくお願いします。