喫茶XRAYトップページ


[5552] Window7にDelphi6 personalをいれての開発は限界か?返信 削除
2011/12/2 (金) 15:09:18 宮 〔HomePage
私の力量では・・。
しばらくご無沙汰していますが、当方はパニック状態でてんてこ舞いでした。
体験記を述べます。長文ですからよければ一読ください。

以下は理論的な根拠があって言っているわけではありません。

Windowsのアップデートのたびにセキュリティ関連に関わるためか
Web、インターネット関連、またポップアップをタブにねじ込むためか?
タブブラウザのPagecontrol関係にきつい影響が出ています。
ただし、その他の、インターネットコンポーネントを使わないアプリは何の
影響もありません。
昨年6月Windows7導入。EドライブのDelphi6にインストした当初は
URLDownloadToFile()は機能しなくなったので、
IdHTTP.Get()に切り替えました。・・・いやな兆候。
しかし、その後現在は再びURLDownloadToFile()は機能するようになっています???。
そして今年8月までほぼ安定して使えていました。
あくまで7のD6で拙作タブブラウザ製作の上で・・・です。
とにかくコードを書き換えながら、なんとか切り抜けてきたのですが
今年8月末から9月当初にかけたWindowsのUpdateで、
徹底的なダメージを受けました。
TWebbrowserに代わる高機能TEmbeddedWBを長年使ってきたのですが
どうしてもある問題をクリアーできなくなりました。
拙作アプリの中核をなすコントロールなので、挫折感ピーク。
さらにTPagecontrolもTEmbeddedWBとコンビで使う上で
重要な機能をクリアーできなくなりました。
私にとっては、もうお先真っ暗なダメージです。
やはりMSもWeb関係とエクスプローラ関係はかなりUpdateしていますね。
つい最近やっとAdobe ReaderもIE上で完動するようになったし。
(#v9以降突っ張りあっていたけど、どちらが相手にあわせたのか知らないが。
しかし未だにエクスプローラーにも欠陥がある。かなり嫌らしい)。
9月以来インストールもいろんなパターンで6回リトライしてみました。
でも解決しないので、
EmbeddedWBを鈍くさい、バグ付きWebbrowserへ変更。
Pagecontrolを鈍くさい単機能Tabcontrolへ変更。
ということはCHILDシステムへ。ということは遅くて残像が残る欠点。
さらにCHILDは単一コンポーネントしか貼り付けられないと書いてあったが
何とかエディター、Image、Windows Media Player、
WebBrowserを貼り付けられたのでたぶん禁じ手かもしれないがとにかく動く。
このどんくさコンビニ移すと同じコードで動くのです。
VCLの中身は知らないが、鈍くさいだけあり、
WindowsUpdateにも打たれ強いのを体感している。

現行のXE2?なら何の苦労もないのだろうが、なにせ貧乏で参考書も買えない。
そろそろ別のGUI開発無料ツールを考えなければとSwing系のNetBeansか、
実績SWT系のEclipseか、またまたVisual C++ 2010 Express など検討中。
かりにWebブラウザアプリを作成するにはどんな言語、ツールがおすすめか
教えていただければ幸いです。
では近況まで。


[5553] Re:Window7にDelphi6 personalをいれての開発は限界か?返信 削除
2011/12/2 (金) 21:59:54 igy
▼ 宮さん
>現行のXE2?なら何の苦労もないのだろうが、

これが本当なら、Delphi XE2 Starter はいかがですか?

http://www.componentsource.co.jp/products/delphi-xe-j/index.html
では、
Delphi XE2 Starter アップグレード ライセンスが

>他社のIDE(Visual Studio や Eclipse などの有償、無償)または
>Embarcaderoの旧バージョンユーザー様を対象。


とありますので、この条件を満たせば 1万4千円程度で、入手できますよ・・・・


[5555] Re2:Window7にDelphi6 personalをいれての開発は限界か?返信 削除
2011/12/2 (金) 22:45:38 snail3
7のXpモードで使っていますか、
それとも直接7にインストールしたのですか?



[5556] Re3:Window7にDelphi6 personalをいれての開発は限界か?返信 削除
2011/12/3 (土) 00:56:45 宮 〔HomePage
▼ snail3さん
> 7のXpモードで使っていますか、
> それとも直接7にインストールしたのですか?
>

どうも。
ホームプレミアムですからXPモードはありません。
ただ、delphi32.exeのプロパティ
XP互換モードでも改善されるわけではありません。
また悪影響が出る場合があるという見方もあるそうですので。
では。
また1万4千円あれば幸せになるですね。
もう74歳ですから元を取れません。残念。
では。


[5557] Re4:Window7にDelphi6 personalをいれての開発は限界か?返信 削除
2011/12/3 (土) 10:16:45 snail3
とりあえず「ユーザーアカウント制御」UACを無効に
http://www.pasoble.jp/windows/7/08805.html

あとシステムファイルのオーナーをSYSTEMから自分に変更すると
幸せになれるかもしれません

フォルダ位置の解説↓
http://www.atmarkit.co.jp/fwin2k/win2ktips/1207docset2usr/docset2usr.html

お約束ですが
なおこれらの変更を行うと、別の障害が発生するかもしれないので
バックアップを取ってから実行して下さい。

[5558] Re5:Window7にDelphi6 personalをいれての開発は限界か?返信 削除
2011/12/3 (土) 16:25:55 宮 〔HomePage
▼ snail3さん
> バックアップを取ってから実行して下さい。
ははは・・・win7も3回再インストールしました。
しかし、今のosの再インストは楽ですね。
Delphiの再インスト比べれば。
集めたコンポーネントのインストはうんざりします。

snail3 さんレスありがとうございます。

いろいろやってはいるのですが。
もちろん、UACは切ってあります。
嫌らしいエクスプローラーというのは
http://www.atmarkit.co.jp/fwin2k/win2ktips/1207docset2usr/docset2usr.html
および
http://www.atmarkit.co.jp/fwin2k/win2ktips/084prof_folder/084prof_folder.html
に解説してありますが、少なくとも7のsp1とはだいぶ違うようです。
例えば
・・・右クリックで表示される[送る]メニューの内容を変更したければ、
ここにある[SendTo]フォルダの内容を変更すればよい(TIPS
「[送る]メニューに項目を追加する方法 」参照)。・・・
と解説していますが、矢印付きの開けない[SendTo]フォルダになっています。
エクスプローラーから見えるけど開けないようです。
[SendTo]にアイコンを登録するときは「ファイル名を指定して実行」で
shell:sendto を実行して入れています。Vistaは知りません。
また、解説では、エクスプローラーからスタートメニューフォルダを直接
いじれるように書いてありますが、いまはできないのでは。
しかも、解説とは違う場所です。
"C:\Users\ユーザー名\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu"
こんなところにあるので面食らう。
ちなみにエクスプローラーが示すsendtoは
"C:\Users\go\SendTo"直接はいじれません。
従来はスタートメニューのアプリのプロパティからリンク先をたどれましたが、
リンク先がないものもある。
いまはMSのアプリでもたとえばoffice2000など7対応ではない?アプリは
リンク先パスがありません。
アイコンなど特別な場所で管理するのか自由にいじることができないもの
できるのもあります。この辺の区別が解らない。
たとえばMicrosoft FrontPageのアイコンをスタートメニューから
sendtoにコピーしても表示しない。
もう、従来のエクスプローラーツリー構造概念は通用しなくなったような気がします。
エクスプローラー周りの自作アプリを組む人は苦労すると思う。
問題は、Web関連のブラウザはどんなサイトでも表示しなくてはならない。
コンパイルも正常に終わるし、普通のサイトは問題なく表示する。
しかし、特定のサイトで問題が出る場合があるわけで、
このとき、鈍くさいコンビのコードはクリアーできるのに
一方はクリアーできない。だから困っています。
ま、拙作ブラウザも鈍くさいコントロールコンビで満足すれば
どうって言うことはないのです。
万策尽きてからでは遅いので、今から新ツールを探して
マスターしなくてはと思っています。
ありがとうございました。




[5559] Re6:Window7にDelphi6 personalをいれての開発は限界か?返信 削除
2011/12/3 (土) 19:36:29 andy
宮さん こんばんわ

いろいろとご苦労されていますね。
私は、宮さんの作ったscrapbookbrowserを使わせていただいています。
時々エラーが出るぐらいで快適に動作しております。

scrapbookbrowserは前のバージョンですが
VistaではVc++をインストールしてからか知れませんがデバッグエラーが
出るようになりましたがVCををアンインストールしても一緒でした。
win7では正常に動いています。

先日、win7 64bitを購入しましてd7をインストールしましたが
正常に動作しています。
何度もインストールをしてやっとうまくいくようになりました。
コンポーネントの再インストールも何回もやると30分かからなく
できるようになりました。delphiのコンワ゜ーネントのタブが大量に
並びますので選択するのに苦労します。何とかならないでしょうかね。

64bitの開発などしないと思うし、すべての機能を使えないかも
知れないし
Delphi XE2 Starter アップグレード ライセンスはよさそうですね。
32bit(i3 2GB)のノートは普通に動作しますが64bit(i5 4GB)は
時々ハングアップしたようになります。
XPモードを試したくて購入しましたが、XPモードはたいしたことは
なかったです。
明日はfirebirdを入れてみようかと思っています。

では



[5561] Re6:Window7にDelphi6 personalをいれての開発は限界か?返信 削除
2011/12/3 (土) 23:45:48 snail3
> ・・・右クリックで表示される[送る]メニューの内容を変更したければ、
> ここにある[SendTo]フォルダの内容を変更すればよい(TIPS
> 「[送る]メニューに項目を追加する方法 」参照)。・・・
> と解説していますが、矢印付きの開けない[SendTo]フォルダになっています。


これ所有権の問題です。

Document and Settingsの所有権を変更するには

 Document and Settingsでマウス右ボタン−プロパティ−セキュリティ
 −「詳細設定」−「所有者」ページ
  −「編集」−Administrators−(サブコンテナー〜にチェック)−OKボタン

これで直ると思います。「詳細設定」−「所有者」ページが表示されないなら
コントロールパネルのフォルダ設定を変更してください。

同様にSendToの所有権も取得してみてください。


[5564] Re7:Window7にDelphi6 personalをいれての開発は限界か?返信 削除
2011/12/4 (日) 03:41:50 宮 〔HomePage
▼ snail3さん
> 同様にSendToの所有権も取得してみてください。
snail3さんレスありがとうございます。

snail3さんがおっしゃっていることはもちろんよくわかります。
しかし、何回もコンパイルしても変化はありません。
これが、どのようにDelphiのコンパイルに関係しているのか
私の力量では理解できません。

以前、自分のPCのWindows環境を自分が使いやすいように、
高速になるように、いろいろ設定、変更して
その自分の開発環境でアプリを公開していたら、
うまくいかないと苦情をいただいたことがあります。
そのため、できれば、多くのユーザーと同じ環境のWindowsを
オリジナルのまま使いながら
アプリ製作をしなければと反省したことがあります。

特にDocument and Settingsは実際にはないフォルダで
過去のOSとの互換性をとるため仮想フォルダですか?。
なのに、ここにあらゆるアプリの情報を集中させ管理しているので
怖いです。
オリジナルでC、D、E、F・・とドライブ名に関係なくエクスプローラで
並んでいるけど、ドライブレターが消えて、ドライブ名順になったりするので
見た目が違和感があり、いじりたくないです。
ドライブレターは着け直せばいいことですが、付け直しが効かない
理論ドライブベイなどもあります。

そんなわけで、Web相手のアプリは、これで完全だ開発終わりだという
ことはないわけで、これはいいかもという情報は
片っ端からテストトライしていくつもりです。
ありがとうございました。



[5565] Re8:Window7にDelphi6 personalをいれての開発は限界か?返信 削除
2011/12/4 (日) 10:25:12 snail3
▼ 宮さん こんにちは

> これが、どのようにDelphiのコンパイルに関係しているのか
> 私の力量では理解できません。


Sendtoの話を例に書かれたので所有権方法を書きましたが、
おっしゃる通りこれでDelphi コンパイラの正常に動作するという
保証はありません。

記憶が曖昧ですがコンポーネントのインストールなどでは標準で
Document and Settingsの下に .bpl を作ったと思ったので、
所有権所得を勧めてみました。



[5566] Re9:Window7にDelphi6 personalをいれての開発は限界か?返信 削除
2011/12/4 (日) 13:02:04 宮 〔HomePage
▼ snail3さん
 
> 記憶が曖昧ですがコンポーネントのインストールなどでは標準で
> Document and Settingsの下に .bpl を作ったと思ったので、
> 所有権所得を勧めてみました。
>

snail3さんありがとうございます。
そうでしたか、
bplはprojectに作って(出来て)います。
Delphiをカスタマイズする知識はありませんので。
デフォルトのままです。
ありがとうございました。

いいPCがクリスマスプレゼントで届くといいですね。
かなり大きな靴下が必要です。(^o^)
では。




[5574] UACに注意返信 削除
2011/12/5 (月) 20:01:30 Mr.XRAY
みなさん,
なんだか盛り下がって(?)いるようですが,
Windows 7 + Delphi 6でも十分とはいかないでしょうけど,使えると
思います.

宮さんのトラブルの原因はいろいろあるでしょうけど.UACがらみも
あるのではないかと思われます.
アプリを提供する場合,設定ファイル等も使用すると思います.
他のユーザが作成したファイルは,別のユーザが読みだすことは可能ですが,
書き込みは出来ません.
でも,エラーは発生しないことがあります.
で,こんな時,Windowsはどうするのか?
別の場所に書き込むことがあります.これが仮想化の問題です.
要注意ですね.

これに気付かないで,UACを無効にしたり,有効にしたりすると,泥沼
に陥ることになるてしょう.
UACは有効にしたままの状態で利用されることをお勧めします.
テスト目的であれば別ですが.
うまくいかないからUACを無効にしてしまえ!! というのは無理があるのでは
ないかと思います.利用者が必ずしもUACを無効にしているとは限りません.

以下のページに,仮想化というわけではありませんが,何か参考になる
かも知れないリンクがあります.
既にご存知かも知れませんが,参考までに.

[Windows Vista以降のOSでDelphi]
http://mrxray.on.coocan.jp/Delphi/Others/WindowsVista.htm


お金がないと言われれば返す言葉がありませんが,
旅行を一回程度我慢する,という手もあります.
仕事や趣味にどの程度まで使えるかですね.
骨董が趣味の人の中には,大変な御仁もいらっしゃるようです.

でも,年齢のことを考えると,宮さんってすごいですよね.
私がその年になった時に,どの程度頭が働くか疑問です.


[5575] UACに注意と言えば…返信 削除
2011/12/5 (月) 21:45:29 たてぐや
▼ Mr.XRAYさん

 こんなコードがあったとします。

{===============================================================================
Windowsをシャットダウンさせる。
===============================================================================}
procedure TFrmSet.Shutdown;
var
  hToken: THandle;
  tkp: TTokenPrivileges;
  dwRet: DWORD;
begin
  // このプロセスのためのトークンを取得。
  if (not OpenProcessToken(GetCurrentProcess,
    (TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY), hToken)) then
    Writeln('OpenProcessToken');

  // シャットダウンに必要な権限を取得。
  LookupPrivilegeValue(nil, 'SeShutdownPrivilege', tkp.Privileges[0].Luid);
  tkp.PrivilegeCount := 1; // one privilege to set
  tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
  dwRet := 0;

  // シャットダウンプロセスに必要な特権を取得。
  AdjustTokenPrivileges(hToken, false, tkp, 0, nil, dwRet);

  // AdjustTokenPrivilegesの戻り値をチェック。
  if (GetLastError <> ERROR_SUCCESS) then
    Writeln('AdjustTokenPrivileges');

  // 強制的にアプリケーションを終了させながら、シャットダウン。
  if (not ExitWindowsEx(EWX_SHUTDOWN or EWX_FORCE, 0)) then
    Writeln('ExitWindowsEx');
end;

 これ、おそらくUACにひっかかってダメだと思っていたのですが、すんなり
通ってシャットダウンしました。多分「シャットダウンプロセスに必要な特権
を取得します。」あたりで引っかかると思っていたのに意外でした。

※コード悪用厳禁

[5580] Re:UACに注意返信 削除
2011/12/6 (火) 14:47:44 宮 〔HomePage
▼ Mr.XRAYさん
> [Windows Vista以降のOSでDelphi]
> http://mrxray.on.coocan.jp/Delphi/Others/WindowsVista.htm
>

マスター、たてぐやさんいろいろご指導ありがとうございます。
最初にURLDownloadToFile()は機能しなくなったので・・と書いています。
UACの問題ではないと思います。
またインストールできないとか、コードをかけないとか、
コンパイルでエラーがでるとはという問題ではないですから。
これらの現象を私なりに追ってきたのですが
トラブルの一つに特定のサイトで
「OLEコントロールのウィンドウハンドルの取得に失敗しました」
WebControlをつかいタブの場合googleをくぐったらこれだと思います。
いっぱい出てきますが
http://support.microsoft.com/kb/247845/ja
これなど匂う。理解できないが。
でも、どれも解決まで行った情報はありませんでした。
結局、そのようなサイトでは特定のコードをスキャンして
そのJavaScriptを殺す方法が有効と言うことで
そのように処置しました。
ですから今は解決しました。
ありがとうございました。

[5592] Re:UACに注意返信 削除
2011/12/13 (火) 09:44:56 snail3
今更ですが、UACは必要でしょうか?

まるで画面がフリーズしたかと思うようなオープニングの後
出てくるダイアログを心の中で「おまえなんか嫌いだ」と思いながらクリック
するのは私だけではないと思います。 (^。^)

新しいプログラムをインストールする場合、あるいは初回は必要だと思いますが
毎回出てくるのはマイクロソフトの技術力のなさだと思います。

ユーザーが1回許可すれば、覚えていればよいのに、



[5593] Re2:UACに注意返信 削除
2011/12/13 (火) 18:47:31 Sara
▼ snail3さん

> 新しいプログラムをインストールする場合、あるいは初回は必要だと思いますが
> 毎回出てくるのはマイクロソフトの技術力のなさだと思います。
>
> ユーザーが1回許可すれば、覚えていればよいのに、

まったくですね・・・実行ファイルのハッシュ値等を取得して比較するなど
やりようはいくらでもあると思うのですが・・・
(あまり大きなファイルだとハッシュの取得に時間が掛かりすぎるか?)
(でも、いちいち許可のクリックをするよりは速いか・・・)
(頻繁にバージョンアップするような物だったりすると、ゴミハッシュが残るか・・・)
(それなら、ハッシュではなく、ファイルのフルパスの方が良いのか?)
(そうか、両方持たせればいいんだな・・・)(妄想中)

Windows8に期待ですかね・・・(^^;

[5594] Re3:UACに注意返信 削除
2011/12/14 (水) 18:28:13 snail3
▼ Saraさんこんばんは
> Windows8に期待ですかね・・・(^^;
Windows8ってプログラム終了する×が無くなりましたね。

どんどん使いづらく、遅くなるのがマイクロソフトが言う進化では? (^^

「昔はよかった」と言ってしまうと「じじい」になってしまうので
なんとか勉強してついてゆうねば (*_*)




INCM/CMT
Cyclamen v3.82