Watch, Follow, &
Connect with Us

Welcome, Guest
Guest Settings
Help

Thread: 追加コンポーネントがインストールできなくなりました。


This question is answered. Helpful answers available: 2. Correct answers available: 1.


Permlink Replies: 5 - Last Post: Jun 15, 2017 6:33 PM Last Post By: osamu nagao Threads: [ Previous | Next ]
osamu nagao

Posts: 95
Registered: 3/22/04
追加コンポーネントがインストールできなくなりました。  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jun 11, 2017 2:27 AM
nagaoです。たびたび質問して申し訳ありません。

私は最近のソフト開発は、Windows10Pro + Delphi10.1BerlinProのパソコンで行ってきま
したが、この度、このパソコンが壊れましたので、次の処置をしました。
a)Cドライブを初期化した後、Widows10Proを再インストール。
b)前回Delphi10.1Berlinをインストールするときに使ったと同じファイルを使って
 Delphi10.1Berlinを再インストール。
c)Windows7Pro + Delphi2010Proの環境でコンポーネント追加用に準備したRad Studio
 と云う名のフォルダとその中身を前回と同じようにC:\Users\Public\Documentsに置きました。
d)追加コンポーネントをインストールするため、前回と同様、下記の操作を実行。
d-1)Belrinを起動し、[ファイル]-[開く]で
   C:\Users\Public\DocumentsRad Studio\dclusr.dpk
  を開く。
d-1)dclusr140.bplで右クリックし、[インストール]を実行。

すると、前回は問題なく追加コンポーネントがインストールできましたが、今回は下記の
5つのエラーが発生して、インストールができません。
対策をお教え願えないでしょうか?

①[dcc32 エラー] FILTERS.PAS(94): E2003 未定義の識別子 : 'TwoDigitYearCenturyWindow'
 CenturyBasePivot := CurrentYear - TwoDigitYearCenturyWindow; の行で発生

②[dcc32 エラー] FILTERS.PAS(459): E2003 未定義の識別子 : 'VarIsArray'
 if VarIsArray( VVariant^ ) の行で発生

③[dcc32 エラー] FILTERS.PAS(461): E2003 未定義の識別子 : 'VarArrayLowBound'
④[dcc32 エラー] FILTERS.PAS(461): E2003 未定義の識別子 : 'VarArrayHighBound'
 for i := VarArrayLowBound( VVariant^,1 ) to VarArrayHighBound( VVariant^,1 ) do begin
 の行で発生

⑤[dcc32 エラー] MOInplaceCalender.pas(198): E2003 未定義の識別子 : 'ShortDayNames'
 Result := ShortDayNames[(Ord(StartWeek) + ACol) mod 7 + 1] の行で発生

なお、前回と今回とはWindows10Pro + Delphi10.1BerlinProという環境は同じですが、
その環境に至る履歴が異なります。
今回は、いきなりWindows10Pro と Delphi10.1BerlinProの環境を整えてから
追加コンポーネントをインストールすることを試みました。
それに対して、前回は、すでにWindows8Pro + DelphiXE3 の環境で、追加コンポーネント
もインストールされている状態であったものを、Windows10Pro + Delphi10.1Berlinに
環境に変えてから、追加コンポーネントをインストールする操作をしました。
この履歴の違いが、前回はエラーが発生しなかったのに、今回はエラーが発生したのと
関係があるのではないでしょうか?
osamu nagao

Posts: 95
Registered: 3/22/04
Re: 追加コンポーネントがインストールできなくなりました。  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jun 12, 2017 11:28 PM   in response to: osamu nagao in response to: osamu nagao
nagaoです。 
今回のエラーの解決に向けて、私なりに下記のことを行いました。

1)私のパソコンにはCドライブとDドライブがありますが、今回はCドライブだけを初期化した後、Windows8Proをインストール。
2) DelphiXE3をインストールした後、コンポーネント追加操作を実施。
   この際はエラーが発生しませんでした。
3)Windows8ProをWindows8.1Proにアップした後、さらにWindows10Proにアップ。
4)Delphi10.1BerlinProをインストール。
5)追加コンポーネントを必要最小限に絞り込んだRad Studioを作成し、C:\Users\Public\Documentsに設置。
6)以上の操作で準備したWindows10Pro + Delphi10.1BerlinProの環境でDelphi10.1BerlinProを起動し、[ファイル]-[開く]で
   C:\Users\Public\DocumentsRad Studio\dclusr.dpk
  を開く。
7)dclusr140.bplで右クリックし、[インストール]を実行。
8)その結果、
   [dcc32 エラー] MOInplaceCalender.pas(198): E2003 未定義の識別子 : 'ShortDayNames'  
  のエラーが
   Result := ShortDayNames[(Ord(StartWeek) + ACol) mod 7 + 1] の行で発生
  の行で発生しました。

コンポーネント追加の際にエラーが発生しなかった初回と同じ経過を上記の通り再現したのに、なぜ今回はコンポーネント追加時に
エラーが発生するのかわかりません。
しかし、この1つのエラーだけ解消すれば、今回の問題はクリアできるかもしれませんので、ShortDayNamesをインターネットで検索してみました。
すると、たくさんのページが上がってきますが、これらを見ても、今回の問題を解決するにはどのようなことをすればよいかわかりません。
どなたか教えていただけませんでしょうか?

Makoto Saito

Posts: 21
Registered: 12/5/04
Re: 追加コンポーネントがインストールできなくなりました。  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jun 14, 2017 3:29 AM   in response to: osamu nagao in response to: osamu nagao
グーグルで「ShortDayNames」を検索してみました.
グーグルの検索の 3 件目です.

http://docwiki.embarcadero.com/Libraries/Berlin/ja/System.SysUtils.TFormatSettings.ShortDayNames

ShortDayNames は TFormatSettings のメンバーになっていますね.
この辺りを調べてみてはいかがですか.

Delphi XE3, XE5 で日付の形式関係に変更があります.
以下にも記事があります. (グーグルの検索の 6 件目)

http://d.hatena.ne.jp/au2010/20110615/1308144603

こんなところも参考になるかも知れません.
TFormatSettings 関係ということで,TFormatSettings を検索した結果です.
このように,検索して,関連がありそうだったら,それを検索していくと
情報が見つかるかもし知れません.つまり,別のキーワードでも検索していくということです.

[XE3 向けに行われた RTL の変更点]
http://docwiki.embarcadero.com/RADStudio/XE3/ja/Delphi_XE3_%E3%81%8A%E3%82%88%E3%81%B3_C++Builder_XE3_%E3%81%AE%E6%96%B0%E6%A9%9F%E8%83%BD#XE3_.E5.90.91.E3.81.91.E3.81.AB.E8.A1.8C.E3.82.8F.E3.82.8C.E3.81.9F_RTL_.E3.81.AE.E5.A4.89.E6.9B.B4.E7.82.B9

[Delphi XE5対応元号選択式日付時刻入力コンポーネントTplDateEdit ? 山本隆の開発日誌]
http://www.gesource.jp/weblog/?p=6202
osamu nagao

Posts: 95
Registered: 3/22/04
Re: 追加コンポーネントがインストールできなくなりました。  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jun 14, 2017 9:40 PM   in response to: Makoto Saito in response to: Makoto Saito
Makoto Saitoさん、こんにちは。nagaoです。

邪道かもしれませんが、
ShortDayNames: array[1..7] of string;
を使用しているユニットの中で定義しみた所、エラーは解消しました。

ありがとうございました。
Hikaru FUKUSHI

Posts: 60
Registered: 11/11/02
Re: 追加コンポーネントがインストールできなくなりました。  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jun 15, 2017 4:04 AM   in response to: osamu nagao in response to: osamu nagao
nagaoさん、こんばんは。福士です。

邪道かもしれませんが、
ShortDayNames: array[1..7] of string;
を使用しているユニットの中で定義しみた所、エラーは解消しました。

そのような修正ではコンパイルエラーは出なくても、プログラムは正常に動作しませんよ。

XE3 向けに行われた RTL の変更点
http://docwiki.embarcadero.com/RADStudio/XE3/ja/Delphi_XE3_%E3%81%8A%E3%82%88%E3%81%B3_C%2B%2BBuilder_XE3_%E3%81%AE%E6%96%B0%E6%A9%9F%E8%83%BD#XE3_.E5.90.91.E3.81.91.E3.81.AB.E8.A1.8C.E3.82.8F.E3.82.8C.E3.81.9F_RTL_.E3.81.AE.E5.A4.89.E6.9B.B4.E7.82.B9

とそこからリンクされている

グローバル変数 - RAD Studio XE3
http://docwiki.embarcadero.com/RADStudio/XE3/ja/%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%90%E3%83%AB%E5%A4%89%E6%95%B0

を読んでください。今まで使えていたSystem.SysUtilsユニットの20個のグローバル変数は
XE3以降で使えなくなっているので、代わりにレコード型のグローバル変数FormatSettingsの
メンバ(フィールド)を参照するように書き換える必要があります。

--
東洋テクニカルシステム株式会社 システム開発部 福士 光
Hikaru Fukushi (Toyo Technical System Inc.)
mailto:fukushi@tts-inc.co.jp
osamu nagao

Posts: 95
Registered: 3/22/04
Re: 追加コンポーネントがインストールできなくなりました。  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jun 15, 2017 4:28 PM   in response to: Hikaru FUKUSHI in response to: Hikaru FUKUSHI
FUKUSHIさん、こんにちは。nagaoです。

今まで使えていたSystem.SysUtilsユニットの20個のグローバル変数は
XE3以降で使えなくなっているので、代わりにレコード型のグローバル変数FormatSettingsの
メンバ(フィールド)を参照するように書き換える必要があります。
教えていただきましたことに従い
 Result :=ShortDayNames[(Ord(StartWeek) + ACol) mod 7 + 1]
の行を   
 Result := formatsettings.ShortDayNames[(Ord(StartWeek) + ACol) mod 7 + 1]
に変更しました。
その後は、エラーなくコンパイル・インストールができました。
ありがとうございました。
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02