Iwao Dev

気付いたことをメモしています.

この画面は、簡易表示です

2015 / 2月

IIS での ActiveX.exe

次の様なコードで,環境により?サーバの exe が終了されないことがある.
  dim oHV
  set oHV = Server.CreateObject(“AsHVXxx.Application”)
  Response.Write “AsHV….App ” & oHV.GetVersion & “<br>” & vbCrLf
  set oHV = Nothing
AsHVxx.exe   ~.Application のみ
  Win XP , 7 とも正しく終了する.
PAtoXx.exe
  Win XP 環境で,デバッグ版 exe は OK .
  Win 7 では正しく終了している.


2015/02/19
PAtoXx.exe の OnInitDialog で,環境設定用のダイアログが表示されて止まってしまっていた.
で,単純にメッセージボックスなどを表示しているならばすぐわかったはずだが,…
  普通の exe としての起動の場合は,ダイアログは表示されない.
  ASP のオートメーションとして起動された場合は,見えないがダイアログが表示されて止まっている.
ダイアログが表示される条件は,設定値が正しいフォルダをさしていない場合.
  c:\ProgramData\… の様にローカルをさしている場合は,どちらの起動でもダイアログが表示されないで処理を継続.
  \\T54W7U64\Documents\… の場合,当然であるが単純起動の exe では OK でダイアログは表示されない.
  これが ASP から起動されると _taccess で正しく判断できず,ダイアログが表示されて止まっている.
CFile::GetStatus でもうまく判断できない?


2015/02/24
MFC クラスウィザードからの「クラスの新規作成」で 「CCmdTarget」 「タイプ ID で作成」したものも終了されない?
利用している所は次の様な感じ.
  set oM_P_ = Server.CreateObject(“AsXxxxX.Path”)
デフォルトで作成されている ~.Application を利用することで終了できる.
  set oM_S_ = Server.CreateObject(“AsXxxxx.Application”)
この動作は,vbs でも同様に確認できる.


2015/03/05
AsXxxS.exe を修正していて Win 7 環境で,
  Server オブジェクト エラー ‘ASP 0177 : 80080005’
  Server.CreateObject に失敗しました
  /Test/Test_3rd/D_Path_1.asp, 行 7
  80080005
XP 環境では OK .
設定関連の漏れがあると思うが,それまで通っていたのでコードを変更.
  以下が新しく追加した部分
   {
     #if defined _UNICODE
       folder = ::FolderAddLastSP(folder) + _T(“WC”) ;
     #elif defined _MBCS
       folder = ::FolderAddLastSP(folder) + _T(“MB”) ;
     #endif
   // ::CreateFolder(folder) ;
     if (::FolderIsNothing(folder)) {
       if (::CreateDirectory(folder,NULL)) { folder = folder+_T(“\\”) ; }
       }
     }
  最初 CreateFolder としていた所を,CreateDirectory に変更することで対応.
この関数は,デバッグ情報をファイルに出力しているが,Win 7 環境ではファイルが生成されてない.


%Temp% (c:\Windows\Temp) 以下に AsImgCnv….\EMF などのフォルダを作成して,生成した emf を保持している.
綺麗な状態に戻そうとして,EMF フォルダを削除して実行すると,
   エラー ‘80010105’
  /Test/Test_2nd/CallAS/E/SelectPage.asp, 行 148
AsImgConv… フォルダのアクセス権を変更してしまった事が原因か?
どの様に設定すべきかわからず,AsImgCnv… フォルダをエクスプローラで削除して対応.


もう一回,うまく行っている状態で EMF フォルダを削除.
どうも設定ではなくコードが悪いみたいで,影響していそうな所を見てみると,
  CacheFile::GetFolder で ::CreateFolder を呼んでいる.
::CreateFolder を MFC を使用していない ::Folder_Create に置換えてみた.
  停止(’ASP 0177 : 80080005’)することはなくなったが,まだ何かありそう.
  EMF のフォルダが生成されない.


2015/03/10
結局,%Temp% は利用しない様に変更した.
どういう条件かわからないが,c:\Windows\Temp\DbgDump\ にはデバッグ情報が正しく出力されてなかった.
(Win XP では意図した動作だったと思う)


2015/03/30
%Temp% でなく Public\Documents\ 以下にしたが,それだけでは完全ではなさそう.
アクセス権の関係と思うが,パブリックフォルダの共有設定が必要?



  にほんブログ村 IT技術ブログへ


tstring Unit::ToName の呼び出し後エラー

もともと CString Unit::ToName(…) だった関数の戻り値を tstring に変更した.
利用している所の多くは,コンパイルエラーとなり Unit::ToName(…).c_str() と修正したが...
次の様な可変引数の修正が漏れていた.
CString unitStr ; unitStr.Format(_T(“%d_%s”),…,Unit::ToName(…)) ;



  にほんブログ村 IT技術ブログへ


IIS 環境の再設定

AsTrmM_VC8 が動作しない.
—————————
Microsoft Visual C++ Runtime Library
—————————
Runtime Error!
Program: C:\Temp\…\Release.080\AsTM0129.exe
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application’s support team for more information.
—————————
OK
—————————
AsTrmM_VC6 は OK .
どうも OpenMP がうまくない?


S:\ …\PAto.exe にあると,


Win 7 で,Classic ASP は「World Wide Web サービス」-「アプリケーション開発機能」-「ASP」をチェック.
以前 XP に設定した時のメモ
Web ページの公開


2015/02/16
asp ファイルが存在する所を開くと,
  サーバー エラー
  500 – 内部サーバー エラーです。
  検索中のリソースに問題があるため、リソースを表示できません。
サーバ側で動かすと,
  An error occurred on the server when processing the URL. Please contact the system administrator.
  If you are the system administrator please click here to find out more about this error.
どうもデフォルトでは出力されなくなったみたい.


今度は次の様なコードで実行時エラー.
  dim oToPA
  set oToPA = Server.CreateObject(“PAto.AsXxx”)
  Microsoft VBScript 実行時エラー エラー ‘800a01ad’
  ActiveX コンポーネントはオブジェクトを作成できません。
  /Test/Test_1st/DrawVer.asp, 行 6
Win XP では ActiveX.exe を起動すれば良かったが,Win 7 では「管理者」とする必要があるので,
  「コマンドプロンプト」を「管理者として実行」して,その中で exe を起動.


アクセス権が許可されてないと,
  Server オブジェクト エラー ‘ASP 0178 : 80070005’
  Server.CreateObject アクセス エラー
  /Test/Test_1st/DrawVer.asp, 行 6
  許可を確認中に Server.CreateObject の呼び出しに失敗しました。
  このオブジェクトへのアクセスは拒否されます。
アクセス権を設定
Win 7 では IUSER


OS が 64 ビットの時,そのままでは ActiveX.dll が起動しない.


他の PC から,http://win7-iis:8080/ の様に接続できない(localhost:8080 は可能).
  対応方法がよくわからないが,ファイアウォールの設定で 8080 を追加してみたら通る様になった.


2015/02/17
サーバのオートメーション機能で ini に設定値を保持しているが更新されない
(IUSER はフルコントロールとして存在している).
  Everyone の追加で意図した動作(ini を更新できる)にはなった.



  にほんブログ村 IT技術ブログへ


Win 10 TP

Win 10 TP JP 9926 を入れてみた.
詳しく調べてないが,幾つか気になったことを.
VerifyVersionInfo で取る様に直したと思うが,6.2 として認識している?
ウィンドウのフレームの幅が広い?

ドロップダウン付きのツールバー?で,後ろのボタンが切れてしまうことがある.
Web に上げた exe だと?



  にほんブログ村 IT技術ブログへ


VC 8 で _ATL_VER が定義される?

先日書いたコードを MFC ダイアログベースの AP で利用してみると,CRegKey の未定義エラー.
コードは,次の様に「_ATL_VER が定義されていれば…」としている.
  #ifdef _ATL_VER
     CRegKey reg ;
     …
  #endif


—— ビルド開始: プロジェクト: SmpMG, 構成: Debug Win32 ——
コンパイルしています…
SmpMGDlg.cpp
…\i_RegGet.hxx(36) : error C2065: ‘CRegKey’ : 定義されていない識別子です。
…\i_RegGet.hxx(36) : error C2146: 構文エラー : ‘;’ が、識別子 ‘reg’ の前に必要です。
…\i_RegGet.hxx(36) : error C2065: ‘reg’ : 定義されていない識別子です。
…\i_RegGet.hxx(37) : error C2228: ‘.Open’ の左側はクラス、構造体、共用体でなければなりません
…\i_RegGet.hxx(39) : error C2228: ‘.QueryDWORDValue’ の左側はクラス、構造体、共用体でなければなりません
SmpMG – エラー 5、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ==========


VC 6 や,VC 8 のコンソール AP としての利用はうまくいっている.
自分で書いた部分では,_ATL_VER が定義される様なインクルードは追加してない.
_ATL_VER は (VS8)\VC\atlmfc\include\AtlDef.h にある.


StdAfx.h でインクルードしているものを順に追いかけていくと,
AfxDisp.h 内で Atlナントカ.h がインクルードされている.
同様の部分の VC 6 の方では Atl~.h はなさそう.


どの様にするのがベターなのかわからないが,AtlBase.h をインクルードする様にした.
  #ifdef _ATL_VER
  #include <AtlBase.h>
  #endif



  にほんブログ村 IT技術ブログへ

  • Categories:

‘新しいテキスト ドキュメント.txt’ …

ちょっと変な状態に陥ったのでメモ.


\\DevS\Documents\MICS\Plan\MICSDat\Test_2015 01-03\9LM-2U-J6TRi-2S7M.001\
\\DevS\Documents\MICS\Plan\MICSDat\Test_2014_12\ などでは
[Window Title]
ファイルを作成できません
[Content]
ファイル ‘新しいテキスト ドキュメント.txt’ を作成できません。
開かれている共有ファイルが多すぎます。
[OK]


\\DevS\Documents\MICS\Plan\MICSDat\ だと戻ってこない(エクスプローラが応答なしになる)
\\DevS\Documents\MICS\Plan\ などでは正しく生成できる.


ログオフ時,\\DevS\Documents\MICS\Plan\MICSDat\新しいテキスト ドキュメント.txt ができていた.
再ログオン後,直後はできなかったがしばらくすると可能となった.


現象はどーってことない(再起動すれば直る)が,
問題は,MFC で作成した普通の AP でドキュメントが消失したこと.
その AP は,自動的に %Temp% にバックアップを保持するので完全に失ったわけではないが,
標準の MFC のシリアライズ動作ではうまくないのか?



  にほんブログ村 IT技術ブログへ



    top

    %d人のブロガーが「いいね」をつけました。