2024年11月
 12
3456789
10111213141516
17181920212223
24252627282930

カテゴリー

アーカイブ

ブログ統計情報

  • 99,843 アクセス


iShelExt.dll ダウン

explorer.exe の 0x000000018001907b (iShelExt.dll) でハンドルされていない例外が発生しました:
0xC0000005: 場所 0x00000000000000b0 を読み込み中にアクセス違反が発生しました。

コードを見たが,原因が特定できなかったのでハードコピー.


同様に MShellE.dll でも
explorer.exe の 0x0000000180061830 (MShellE.dll) でハンドルされていない例外が発生しました:
0xC0000005: 場所 0xffffffffffffffff を読み込み中にアクセス違反が発生しました。

これもよくわからない.


2012/08/10 追記
explorer.exe の 0x000000018003938e (MShellE.dll) でハンドルされていない例外が発生しました:
0xC0000005: 場所 0xffffffffffffffff を読み込み中にアクセス違反が発生しました。


2012/08/30 追記
explorer.exe の 0x0000000180018e30 (iShelExt.dll) でハンドルされていない例外が発生しました:
0xC0000005: 場所 0x00000000000000c0 を読み込み中にアクセス違反が発生しました。


2012/09/25 追記
Cache のインデックスが 2 ,Cache はクリアされている.


2012/09/27 追記
2 つのスレッドから Profile::GetInt 内を指した状態で止まっている.


2012/10/08 追記
IL_Env_GetStr など,static で確保しているのが原因か?


2012/10/11 追記
やはり,static Env ?


2012/11/12 追記
DocIB::GetBitmap に以下を追加して排他管理する様に変更してみた.
  _MutexS_ mt(FALSE,_T(“DocIB::GetBitmap”)) ;
  MutexS m(&mt) ;
また,Mutex の動作が機能する様にするためには,アプリケーションクラスのヘッダで以下が必要.
  #include AfxMT.h

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

MFC などと iOS のパーツ

目的が似ていると思われるもの

CStatic   UIView
CHtmlView   UIWebView
MSXML.dll   NSXMLParser
レジストリ   NSUserDefault
Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Objective-C

買った本を参考にしながら,NSArray を使用.
NSArray* ary = [NSArray arrayWithObject:[…],[…],…,nil] ;
と入力して,複数の要素を指定しているという様なエラー.
よーく確認すると,本の方は arrayWithObjects と最後に s が付いた複数指定のタイプ.
Xcode が補完してくれるのはいいが,間違って選択してエラーになると,原因を見つけるのがちょっと大変?


他にもタイマの利用で,タイマ処理関数名の直後の ” : ” も抜けていた.
  [NSTimer scheduledTimerWithTimeInterval:0.05 target:self
     selector:@selector(moveLabel:) userInfo:nil repeats:YES ] ;


Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Xcode での設定?

ヘッダなどのインクルードパスの設定.
 プロジェクトを選択して,Search Path に Header と Library の設定がある.
 VC 6 などの様な,「ツール」−「オプション」−「ディレクトリ」タブにある共通の設定の有無や方法は不明.
Xcode Search Path


デバッグ時のブレイクポイントの設定やステップ実行など.
 ソースの左の方の行番号付近のクリック.
 「fn」+F6 , F7 , F8 はまだいいが,継続の実行がちょっといまいち.
    「control」+「command」+「Y」

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Objective-C から C++ の呼び出し

先日作成した MemStat.hxx を「iOS」−「Single View Application」から利用してみた.
ViewController.m の拡張子を mm に変更.
ボタンと UITextView を貼付けて,変数を定義,ボタンの Action を追加.
以下はそれに対して,C++ の呼出しを加えたコード.


//  ViewController.mm
 
#import “ViewController.h”
#include “MemStat.hxx”   // これでいいの?
 
@interface ViewController ()
 
@end
 
@implementation ViewController
@synthesize TextView;
 
– (void)viewDidLoad
{
  [super viewDidLoad];
  {
    MemoryStatus    ms ;
    NSString*    str = [[NSString alloc]initWithFormat:@”%8.2f MB  /  %8.2f MB \n”,
            ms.GetPhysFree()/1024/1024.,ms.GetPhysTotal()/1024/1024. ] ;
    TextView.text = str ;
    }

  }
– (void)viewDidUnload
{
  [self setTextView:nil];
  [super viewDidUnload];
  }
– (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
  return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
  }
– (IBAction)Refresh:(id)sender {
  {
    MemoryStatus    ms ;
    NSString*    str = [[NSString alloc]initWithFormat:@”%8.2f MB  /  %8.2f MB \n”,
            ms.GetPhysFree()/1024/1024.,ms.GetPhysTotal()/1024/1024. ] ;
    TextView.text = [TextView.text    stringByAppendingString:str ] ;
    }

  }
@end
 

メモリ状態の画面のコピー

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Xcode IB

VS のダイアログエディタにあたるのが,InterfaceBuilder と言ったところか?
ClassWizard にあたる操作は,部品を「control」+「クリック」,ViewControler.h へのドロップ.
そうすると,変数の定義(Outlet)や,イベントの動作(Action)の指定のダイアログが表示される.


未だよく理解できてないのが,手動で変数などを追加した場合は?
他にも,メンバ?関数を追加した場合のヘッダでの定義は?

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Magic Mouse 追加

「マルチタッチトラックパッド」は良く出来ているが,マウスカーソルの位置を操作するのがなかなか慣れず,Windows で使用している 5 ボタンマウスを USB 接続して凌いでた.
Magic Mouse の存在を知らなかったわけではなく,ちょっと投資が出来なかったのです.

それでやっと,Apple のショップで触って,購入しました.
接続にちょっとかかりましたが,…
(付属のマニュアルを読まないで接続しようとしたので.私みたいな老眼には,ちょっときついです)
接続できると,やっぱいいです.

キーボードはどうしたものか?

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Blenderの利用ガイド

Blender 2.6x で,日本語ファイル名などが文字化けしていたので.
Blenderの利用ガイド


2012/07/26 追記
動作の詳細はまだ不明だか,日本語名などを含むファイル名の保存やエクスポートでうまく処理されないことがあるみたい.
例えば,stl をインポートして,それをそのまま dae でエクスポートした時はうまく読めない.
geometry の id などにそれを利用している様,Blender のツリーの表示で Rename すれば OK.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

MemStat.hxx

Xcode や VC , W Mobile で可能な様にコードを書いてみた.


#ifndef MemStat_hxx
#define MemStat_hxx
//
#ifdef _WIN32
  typedef __int64 i64 ;
  typedef unsigned __int64 ui64 ;
#else
  typedef long long i64 ;
  typedef unsigned long long ui64 ;
#endif
//
#ifdef __APPLE_CC__
  #include <mach/mach.h>
#endif
#ifdef _WIN32
  #include <Windows.h>
  #include <WinBase.h>
#endif
//
class MemoryStatus {
public:

} ;
//

{
  P_Free = P_Total = 0 ;
  #ifdef __APPLE_CC__
  {
    unsigned int count = 0 ;
    mach_port_t host_port = ::mach_host_self() ;
    host_basic_info_data_t hb_info;
    {
      count = HOST_BASIC_INFO_COUNT ;
      ::host_info(host_port,HOST_BASIC_INFO,(host_info_t)&hb_info,&count) ;
      }
    vm_statistics_data_t vm_info;
    {
      count = HOST_VM_INFO_COUNT;
      ::host_statistics(host_port,HOST_VM_INFO,(host_info_t)&vm_info,&count) ;
      }
    P_Free = vm_info.free_count * vm_page_size ;
    P_Total = hb_info.max_mem ;
    }
  #endif
  #ifdef _WIN32
  #if !defined(_WIN32_WCE) && (_MFC_VER >= 0x700)
  {
    MEMORYSTATUSEX memStat ;
    memset(&memStat,0,sizeof(MEMORYSTATUSEX)) ;
    memStat.dwLength= sizeof(MEMORYSTATUSEX) ;
    ::GlobalMemoryStatusEx(&memStat) ;
    P_Free = memStat.ullAvailPhys ;
    P_Total = memStat.ullTotalPhys ;
    }
  #else
  {
    MEMORYSTATUS memStat ;
    memset(&memStat,0,sizeof(MEMORYSTATUS)) ;
    memStat.dwLength= sizeof(MEMORYSTATUS) ;
    ::GlobalMemoryStatus(&memStat) ;
    P_Free = memStat.dwAvailPhys ;
    P_Total = memStat.dwTotalPhys ;
    }
  #endif
  #endif
  }
//
#endif


ファイルは,UTF-8 と言うか,シフトJIS の設定で,7 bit の範囲の文字のみ使用.
改行は,CR+LF としている.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

定義済みマクロ

__GNUC__
__APPLE_CC__
Hello, World!
以下のコードで確認.


#include <iostream>
int main(int argc, const char * argv[])
{
#if defined(__GNUC__)
  printf(“__GNUC__\n”) ;
#endif
#if defined(__APPLE_CPP__)
  printf(“__APPLE_CPP__\n”) ;
#endif
#if defined(__APPLE_CC__)
  printf(“__APPLE_CC__\n”) ;
#endif
#if defined(__MACOS_CLASSIC__)
  printf(“__MACOS_CLASSIC__\n”) ;
#endif
  // insert code here…
  std::cout << “Hello, World!\n”;
  return 0;
  }


???/MacOSX.platform/Developer/SDKs/MaxOSX10.7.sdk/usr/include/TargetConditionals.h より
cpp -dM /dev/null

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

utf-8 だと…

Xcode でのファイルが UTF-8 だったのでそれを含む文字列での動作を調べてみた.
データは半角”abc”,全角”ABC”,半角”アイウ”,全角”アイウ”
Xcode で以下のコードを書いたので,このソースファイルの形式は,UTF-8.


#include <iostream>
int main(int argc, const char * argv[])
{
  char abc[] = “abc” ;
  std::cout << strlen(abc) << “\t” << abc << “\n” ;
  char ABC[] = “ABC” ;
  std::cout << strlen(ABC) << “\t” << ABC << “\n” ;
  char aiu[] = “アイウ” ;
  std::cout << strlen(aiu) << “\t” << aiu << “\n” ;
  char AIU[] = “アイウ” ;
  std::cout << strlen(AIU) << “\t” << AIU << “\n” ;
  return 0;
  }


Xcode
3 abc
9 ABC
9 アイウ
9 アイウ


VC 6 MBCS
3 abc
6 ABC
3 アイウ
6 アイウ


VC 6 UNICODE
3 abc
3 ABC
3 アイウ
3 アイウ


VC 6 でのコードは,tchar.h を利用して以下の様に書き直している.
また,ファイル形式はシフトJIS.


#include <iostream>
#include <tchar.h>
#ifdef _UNICODE
#define tcout wcout
#else
#define tcout cout
#endif
int _tmain(int argc, const TCHAR * argv[])
{
  _tsetlocale(LC_ALL, _T(“”)) ;
  TCHAR abc[] = _T(“abc”) ;
  std::tcout << _tcslen(abc) << _T(“\t”) << abc << _T(“\n”) ;
  TCHAR ABC[] = _T(“ABC”) ;
  std::tcout << _tcslen(ABC) << _T(“\t”) << ABC << _T(“\n”) ;
  TCHAR aiu[] = _T(“アイウ”) ;
  std::tcout << _tcslen(aiu) << _T(“\t”) << aiu << _T(“\n”) ;
  TCHAR AIU[] = _T(“アイウ”) ;
  std::tcout << _tcslen(AIU) << _T(“\t”) << AIU << _T(“\n”) ;
  return 0;
  }

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Mac で Windows の…

Windows の「タスクマネージャ」の様なの.
  「アプリケーション」ー「ユーティリティ」ー「アクティビティモニタ」.
Print Screen
  command+shift+3 , 4 , control+3


VC 6 では,シフトJIS のみの扱い
  詳しく調べてはないが,Xcode は UTF-8
  ビルドなどでも,コード内のシフトJIS 部分が正しく処理されない.
  コード部分では 0x7f までの範囲とすべきか?


他の設定変更した部分
  「ことえり環境設定」ー「入力文字」を使いやすい様に設定.
  「システム環境設定」ー「言語とテキスト」ー「入力ソース」ー「半角カタカナ」にチェック.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Xcode 4.3.2

日本語に翻訳されたiOSのドキュメント
初めての iOS アプリケーション


ここを参考にサンプルを書いていて,

「View」ー「Utilities」ー「Show Object Library」 VC 6 などのコントロールにあたる
「View」ー「Utilities」ー「Show Attribute Inspector」 コントロールのプロパティ

Xcode の設定で,
「Xcode」ー「Preferences…」ー「Text Editing」ー「Indentation」ー「Prefer Indent using」を「Tabs」に.


Class Wizard にあたる部分の使い方がまだよくわからない.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

WM PowerToys

Windows Mobile Developer Power Toys


WM でコマンドプロンプトが利用できるとあったのでやってみたが... NG
この人と同じ様な現象.
console.dll が影響している?らしい.
エミュレータだとこんな感じ.
WM コマンド プロンプト


他に,Remote Display もやってみたが,うまくいかず.
MyMobiler ではうまくいった.


Remote Display でさらに調べてると,cerdisp2.exe を X02T に入れれば良さそうだったが,どれかわからず.
ここを参考に ActiveSync_remote_Display\devices\wce400\armv4t\* を X02T にコピーして,実行でうまくいった.
WM Remote Display

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

C1083

—— ビルド開始 : プロジェクト : CalAxByC, 構成 : Debug Win32 ——
コンパイルしています…
StdAfx.cpp
c1xx : fatal error C1083: コンパイラの中間生成物 ファイルを開けません。’ .\Debug.070/CalAxByC.pch’: No such file or directory
CalAxByC – エラー 1、警告 0
———————- 終了 ———————-
ビルド : 0 正常終了、1 失敗、0 スキップ

出力ディレクトリなどの指定で .\$(ConfigurationName).070 の前にスペースが入っていた.


「UNICODE 文字セットを使用する」にすると,
—— ビルド開始 : プロジェクト : CalAxByC, 構成 : Debug Win32 ——
コンパイルしています…
CalAxByC.cpp
リンクしています…
LINK : warning LNK4075: /EDITANDCONTINUE は /INCREMENTAL:NO の指定によって無視されます。
msvcrtd.lib(wcrtexew.obj) : error LNK2019: 未解決の外部シンボル _wWinMain@16 が関数 _wWinMainCRTStartup で参照されました。
.\Debug.070/CalAxByC.exe : fatal error LNK1120: 外部参照 1 が未解決です。
CalAxByC – エラー 2、警告 1
———————- 終了 ———————-
ビルド : 0 正常終了、1 失敗、0 スキップ

この対応方法は vcproj を編集

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

WM 5 版 ColorHSV クラステスト

zip 内の構成で,\\T54W7U64\Public\Documents\Temp\WM_Card にファイルを置いている.
WM_Card.2012.06.29.zip
デバイス エミュレータ マネージャ
VS 2005 の「ツール」-「デバイス エミュレータ マネージャ」を起動.
デバイスを選択して「接続」.
デバイスに接続
デバイス エミュレータの「ファイル」-「構成」で,「共有フォルダ」を指定.
デバイスの「ファイル エクスプローラ」で対象のフォルダに移動して起動.
ColorHSV を起動

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Windows Mobile 用修正

Windows Mobile プロジェクトで利用した場合のエラー.
但し,今は 2012.07 の関係があるため _CE フォルダを作成してそれを利用している.


C:\…\HelpAPI.hxx(28) : error C2660: ‘GetLongPathName’ : 関数に 3 個の引数を指定できません。
C:\…\HelpAPI.hxx(58) : error C2660: ‘GetComputerName’ : 関数に 2 個の引数を指定できません。
C:\…\HelpAPI.hxx(76) : error C2660: ‘GetUserName’ : 関数に 2 個の引数を指定できません。
C:\…\HelpAPI.hxx(106) : error C2660: ‘GetCurrentDirectory’ : 関数に 2 個の引数を指定できません。
C:\…\HelpAPI.hxx(121) : error C2660: ‘GetFullPathNameW’ : 関数に 4 個の引数を指定できません。
機能としてなさそう.関数を _WIN32_WCE で無効に.


c:\…\CRT_MBWC.hxx(113) : error C3861: ‘_tcsncat_s’: 識別子が見つかりませんでした
c:\…\CRT_MBWC.hxx(144) : error C3861: ‘_vstprintf_s’: 識別子が見つかりませんでした
c:\…\CRT_MBWC.hxx(168) : error C3861: ‘_vstprintf_s’: 識別子が見つかりませんでした
c:\…\CRT_MBWC.hxx(447) : error C3861: ‘_i64tot_s’: 識別子が見つかりませんでした
c:\…\CRT_MBWC.hxx(459) : error C3861: ‘_ui64tot_s’: 識別子が見つかりませんでした
c:\…\CRT_MBWC.hxx(488) : error C3861: ‘_tstof’: 識別子が見つかりませんでした
_s が付かないものや,他の関数に置き換え.


C:\…\WinMFC.hxx(297) : error C2065: ‘HDROP’ : 定義されていない識別子です。
C:\…\WinMFC.hxx(297) : error C2146: 構文エラー : ‘)’ が、識別子 ‘hDropInfo’ の前に必要です。
C:\…\WinMFC.hxx(297) : error C2433: ‘DropFilesToStringArray’ : ‘inline’ はデータ宣言をするのに使用できません。
C:\…\WinMFC.hxx(297) : error C2059: 構文エラー : ‘)’
C:\…\WinMFC.hxx(298) : error C2143: 構文エラー : ‘;’ が ‘{‘ の前にありません。
C:\…\WinMFC.hxx(298) : error C2447: ‘{‘ : 対応する関数ヘッダーがありません (旧形式の仮引数リスト?)
関数を無効に.


C:\…\WinMFC.hxx(477) : error C2589: ‘(‘ : スコープ解決演算子 (::) の右側にあるトークンは使えません。
C:\…\WinMFC.hxx(477) : error C2059: 構文エラー : ‘::’
C:\…\WinMFC.hxx(479) : error C2589: ‘(‘ : スコープ解決演算子 (::) の右側にあるトークンは使えません。
C:\…\WinMFC.hxx(479) : error C2143: 構文エラー : ‘;’ が ‘::’ の前にありません。
クリップボードへのテキスト転送の部分ではあるが,ちょっとわからず.関数を.無効に.


Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

VC 2005 MFC スマートデバイス AP

以下の様なコードが動作する様に幾つかを書換えてテスト.
  CString TF_GetRunStatus (void)
  {
    CStringArray sa ;
    {
      sa.Add(::GetTempPath ()) ;
      sa.Add(::GetModuleFileName ()) ;
      sa.Add(::IsWow64()?_T(“Wow64”):_T(“”)) ;
      }
    {
      double osVer = ::OS__GetVersion() ;
      sa.Add(::FtoT (osVer)) ;
      CString str ; str.Format(_T(“%f”),osVer) ;
      sa.Add(str) ;
      }
  #ifndef _WIN32_WCE
    sa.Add(::GetComputerName ()) ;
    sa.Add(::GetUserName ()) ;
    sa.Add(::GetCurrentDirectory()) ;
    sa.Add(::GetFullPathName (_T(“.\\”))) ;
  #endif
    sa.Add(::GetBuildStrFull ()) ;
    CString str ;
    ::StringArrayToString(sa,str) ;
    return str ;
    }
VC 2005 MFC スマートデバイス AP


::GetTempPath
  PPC2003  “\Temp\”
  SP 2003   “\Strage\Application Data\Volatile\”
  WM 5,6   ”\Application Data\Volatile\”

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

LOG_PBH::Term

「LOG_PBH::Term が呼ばれる前に Init が呼ばれた」
以下の様なコードで,PBH::SetDefaultPenBrush() が呼ばれていないと,デバッグウィンドウに表示される.
  {
    LOGPEN lp ;
    LOGBRUSH lb ;
    PBH::GetHatchPenBrush(pDC,GetPBH(), &lp,&lb) ;
    CPen pen ; pen.CreatePenIndirect(&lp) ;
    CPen* oldPen = pDC->SelectObject(&pen) ;
    CBrush brush ; brush.CreateBrushIndirect(&lb) ;
    CBrush* oldBrush = pDC->SelectObject(&brush) ;
    Parts::Draw(pDC,prj,scale) ;
    pDC->SelectObject(oldPen) ;
    pDC->SelectObject(oldBrush) ;
    PBH::SetDefaultPenBrush() ;
    }

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

PAtoMHD.AsPln2D を …

PAtoMHD.AsPln2D を IIS のコンポーネントとして登録.
DrawVer.asp
  <%@ Language=VBScript %>
  <% Option Explicit %>
  <HTML>
  <BODY>
  <%
  dim oToPA
  set oToPA = Server.CreateObject(“PAtoMHD.AsPln2D”)
  Response.Write oToPA.GetVersion
  set oToPA = Nothing
  %>
  </BODY>
  </HTML>


実行すると,
エラー タイプ
Server オブジェクト, ASP 0178 (0x80070005)
許可を確認中に Server.CreateObject の呼び出しに失敗しました。このオブジェクトへのアクセスは拒否されます。
/Test/DrawVer.asp, line 7

「コンポーネント サービス」-「DCOM の構成」で「セキュリティ」タブ内の設定.

IIS を再起動する


以下の様にしていると
  set oMICS = Server.CreateObject(“AsMicsS.Application”)
  set oToPA = Server.CreateObject(“PAtoMHD.AsPln2D”)
PAtoMHD.exe は IUSR_DEVXP となるが,AsMicsS.exe は SYSTEM でリフレッシュ毎に起動されてしまっている.

どうも,PAtoMHD.Application などの場合に複数起動されているみたい.
IUSR_~ と SYSTEM の違いはよくわからない.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.