Watch, Follow, &
Connect with Us

Welcome, Guest
Guest Settings
Help

Thread: Helpwriterに代わる操作説明文作成用ソフトはありませんか?


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


Permlink Replies: 19 - Last Post: Mar 16, 2017 9:19 PM Last Post By: osamu nagao Threads: [ Previous | Next ]
osamu nagao

Posts: 95
Registered: 3/22/04
Helpwriterに代わる操作説明文作成用ソフトはありませんか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Oct 24, 2016 5:44 PM
nagaoです。いつも教えて頂きありがとうございます。
Windows7以降のOSでも正常に機能する操作説明文作成用ソフトがあれば紹介願います。
<このお願いをする理由>
昔は私が開発したソフトの操作説明文はHelpwriterで作成していました。
Helpwriterは予め登録したイメージを文章の任意の場所に配置できるので分かりやすい操作説明文
を簡単に作成することができました。
ところが、OSがWindows Vista に代わって以降、WinHlp32.exeがOSに同梱されなくなった
ため、Helpwriterで作成した拡張子が".hlp"のファイルが開かなくなりました。
https://www.microsoft.com/ja-jp/download/details.aspx?id=5143
には、
「WinHlp32.exe は、".hlp" というファイル名拡張子の 32 ビットのヘルプ ファイルを表示するために必要です。
Windows Vista で .hlp ファイルを表示するには、このアプリケーションをインストールする必要があります。」
と記述してあります。
このサイトからWinHlp32.exeをインストールすればHelpwriterで作成したヘルプファイルは正常に開くことは
以前確認しましたが、このインストール操作はかなり複雑なため、私のソフトのユーザーにその操作をするよう
求めるのは現実的ではありません。
そこで、自作でHelpwriterに代わる機能を私のソフトに加えてみましたが、この部分の機能の動作が不安定で
困っています。
igy kk

Posts: 109
Registered: 9/11/03
Re: Helpwriterに代わる操作説明文作成用ソフトはありませんか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Oct 24, 2016 6:24 PM   in response to: osamu nagao in response to: osamu nagao
osamu nagao wrote:
Windows7以降のOSでも正常に機能する操作説明文作成用ソフトがあれば紹介願います。

HTML Help 形式 (*.chm)のヘルプを生成できるツールを探してみるのは、いかがですか?

あるいは、htmlファイルを作って、ブラウザで表示するとか・・・

Edited by: igy kk on Oct 24, 2016 8:53 PM
osamu nagao

Posts: 95
Registered: 3/22/04
Re: Helpwriterに代わる操作説明文作成用ソフトはありませんか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Oct 24, 2016 11:34 PM   in response to: igy kk in response to: igy kk
igy kk さん、こんにちは。nagaoです。
レスくださいましてありがとうございます。

HTML Help 形式 (*.chm)のヘルプを生成できるツールを探してみるのは、いかがですか?
あるいは、htmlファイルを作って、ブラウザで表示するとか・・・
この関連のサイトを調べ始めてみましたが、かなり時間が掛りそうです。
先にしたいことがありますので、後でもっと詳しく調べます。 
Hikaru FUKUSHI

Posts: 60
Registered: 11/11/02
Re: Helpwriterに代わる操作説明文作成用ソフトはありませんか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Oct 25, 2016 12:42 AM   in response to: osamu nagao in response to: osamu nagao
nagaoさん、こんにちは。福士です。

"hlp chm 変換"で検索すると変換ツールがあるようです。参考にしてください。

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

Posts: 95
Registered: 3/22/04
Re: Helpwriterに代わる操作説明文作成用ソフトはありませんか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Oct 26, 2016 8:13 PM   in response to: Hikaru FUKUSHI in response to: Hikaru FUKUSHI
福士さん、こんにちは。nagaoです。
レスくださいましてありがとうございます。

"hlp chm 変換"で検索すると変換ツールがあるようです。参考にしてください。
"hlp chm 変換"で検索すした結果、.hlpファイルを.chmファイルに変換できる
ことは知りました。
そこで、新たな.hlpファイルを、以前私が愛用していたHelpwriterで作成できるか
試すために、Helpwriterを起動してみたところ、Windows Vista以降のOSでは
始めから文字化けした画面しか表示されません。
従って.hlpファイルを.chmファイルに変換する方法は私の場合、採用でいない
ようです。
Hideyuki Oya

Posts: 72
Registered: 6/6/07
Re: Helpwriterに代わる操作説明文作成用ソフトはありませんか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Oct 28, 2016 11:32 PM   in response to: osamu nagao in response to: osamu nagao
osamu nagao wrote:
nagaoです。いつも教えて頂きありがとうございます。
Windows7以降のOSでも正常に機能する操作説明文作成用ソフトがあれば紹介願います。
<このお願いをする理由>
昔は私が開発したソフトの操作説明文はHelpwriterで作成していました。
Helpwriterは予め登録したイメージを文章の任意の場所に配置できるので分かりやすい操作説明文
を簡単に作成することができました。
ところが、OSがWindows Vista に代わって以降、WinHlp32.exeがOSに同梱されなくなった
ため、Helpwriterで作成した拡張子が".hlp"のファイルが開かなくなりました。
https://www.microsoft.com/ja-jp/download/details.aspx?id=5143
には、
「WinHlp32.exe は、".hlp" というファイル名拡張子の 32 ビットのヘルプ ファイルを表示するために必要です。
Windows Vista で .hlp ファイルを表示するには、このアプリケーションをインストールする必要があります。」
と記述してあります。
このサイトからWinHlp32.exeをインストールすればHelpwriterで作成したヘルプファイルは正常に開くことは
以前確認しましたが、このインストール操作はかなり複雑なため、私のソフトのユーザーにその操作をするよう
求めるのは現実的ではありません。
そこで、自作でHelpwriterに代わる機能を私のソフトに加えてみましたが、この部分の機能の動作が不安定で
困っています。

私の場合はHTMLファイルでマニュアルを作って「HTML Help Workshop」で.chmファイルに変換しています。
OSはWindows10です。
osamu nagao

Posts: 95
Registered: 3/22/04
Re: Helpwriterに代わる操作説明文作成用ソフトはありませんか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 10, 2017 3:26 PM   in response to: Hideyuki Oya in response to: Hideyuki Oya
Hideyuki Oya さん、こんにちは。nagaoです。
レス下さいましてありがとうございます。
返事が遅れてすみません。

私が希望するようはHelpシステムは外部には無いようですので、過去に私が作ったのを
改良して使おうとしています。
下記するサンプルプログラムでは文章を表示するRichEdit1を載せたForm1の上に、
画像を表示するGuideButtonImage[i]を載せたGuideButtonForm[i]を表示させています。
私が過去に自作したHelpシステムは、これをもっと複雑にしたものです。

しかし、私が自作したHelpシステムでは、RichEdit1.CaretPos関数が正しく動作しないと
いう問題があります。
下記のサンプルプログラムでは
  procedure TForm1.RichEdit1MouseDown()
を実行した時に、RichEdit1.CaretPos関数は正しく動作し、何行目の何文字目で
MouseDownされたのか検知するのですが、私が自作したHelpシステムでは
なぜか分かりませんが、正しく動作せず、
    aPoint.x=0 aPoint.y=0
という結果しか得られないのです。

procedure TForm1.RichEdit1MpseMove() に中に
    RichEdit.SetFocus;
の行を追加すれば、RichEdit1.CaretPos関数は正しく動作するようになるのですが、
この行を追加するとguidebuttonform[i]が
guidebuttonform[i].formstyle:=fsstayontop;
にしているにも拘わらず、何故か裏に隠れて画像が見えなくなってしまうのです。

guidebuttonform[i]が裏に隠れないようにする方法はありませんか?
または、
    RichEdit.SetFocus;
にする以外の方法で、RichEdit1.CaretPos関数を正常に動作するようにする
方法はありませんか?

*****************サンプルプログラム*****************************************

unit Unit1;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls, Vcl.ExtCtrls;
 
type
  TForm1 = class(TForm)
    RichEdit1: TRichEdit;
    Label1: TLabel;
    procedure RichEdit1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
uses guidebuttonu;
 
procedure TForm1.FormShow(Sender: TObject);
var
   i:integer;
begin
   i:=1;
   guidebuttonform[i]:=tguidebuttonform.create(application);
   guidebuttonform[i].formstyle:=fsstayontop;
   guidebuttonimage[i]:=timage.create(guidebuttonForm[i]);
   guidebuttonimage[i].parent:=guidebuttonForm[i];
   guidebuttonform[i].left:=150;
   guidebuttonform[i].top:=150;
   guidebuttonform[i].width:=18;
   guidebuttonform[i].height:=18;
   guidebuttonform[i].show;
   guidebuttonimage[i].align:=alclient;
   guidebuttonimage[i].stretch:=true;
   guidebuttonimage[i].picture.LoadFromFile('c:\__Projects\aa.bmp');
end;
 
procedure TForm1.RichEdit1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
   aPoint:TPoint;
begin
   Apoint:=RichEdit1.CaretPos;
   Label1.Caption:=
     Fformat('aPoint.x=%d aPoint.y=%d',[aPoint.x,aPoint.y]);
end;
end.
 
 
Unit Guidebuttonu;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls,jpeg;
type
  TguidebuttonForm = class(TForm)
    _Image: TImage;
    procedure FormCreate(Sender: TObject);
  private
  public
  end;
var
  guidebuttonForm:array[1..5] of TguidebuttonForm;
  guidebuttonimage:array[1..5] of timage;
implementation
 
 
{$R *.DFM}
 
procedure TguidebuttonForm.FormCreate(Sender: TObject);
begin
   //bordersytleをbsnoneにする
   SetWindowLong(Handle,GWL_STYLE,
                  GetWindowLong(Handle, GWL_STYLE) and
                                 not WS_CAPTION);
   ClientHeight:=Height;
   Refresh;
end;
 
end.
igy kk

Posts: 109
Registered: 9/11/03
Re: Helpwriterに代わる操作説明文作成用ソフトはありませんか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 11, 2017 12:21 AM   in response to: osamu nagao in response to: osamu nagao
期待通りの動作をするサンプルプログラムのソースを挙げるのではなく、

RichEdit1.CaretPos関数が正しく動作しない
    aPoint.x=0 aPoint.y=0
という結果しか得られない

のと

procedure TForm1.RichEdit1MpseMove() に中に
    RichEdit.SetFocus;
の行を追加すれば、RichEdit1.CaretPos関数は正しく動作するようになるのですが、
この行を追加するとguidebuttonform[i]が
guidebuttonform[i].formstyle:=fsstayontop;
にしているにも拘わらず、何故か裏に隠れて画像が見えなくなってしまう

が、再現するソースコードを挙げてみるのは、いかがですか?
osamu nagao

Posts: 95
Registered: 3/22/04
Re: Helpwriterに代わる操作説明文作成用ソフトはありませんか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 11, 2017 9:04 PM   in response to: igy kk in response to: igy kk
igy kk さん、こんにちは。nagaoです。
レス下さいましてありがとうございます。

期待通りの動作をするサンプルプログラムのソースを挙げるのではなく、
・・・・・
・・・・・
のと
・・・・・
・・・・・
が、再現するソースコードを挙げてみるのは、いかがですか?

自作のヘルププログラムを少し変更したところ、RichEdit1.CaretPosが動作するように
なりました。
しかし、下記のサンプルプログラムと同様に、RichEditを最初にクリックした時は、
どこをクリックした場合も
   apoint.x=0 apoint.y=3
というメッセージが表示されます。
下記のサンプルプログラムのどこを修正すれば、この問題は解決するのでしょうか?、

unit Unit1;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls, Vcl.ExtCtrls;
 
type
  TForm1 = class(TForm)
    RichEdit1: TRichEdit;
    Label1: TLabel;
    showTimer: TTimer;
    procedure RichEdit1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormShow(Sender: TObject);
    procedure showTimerTimer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
     procedure show_guidebuttons;
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
uses guidebuttonu;
 
procedure TForm1.FormShow(Sender: TObject);
var
   i:integer;
begin
   richedit1.Lines.Clear;
   richedit1.Lines.add('aaaaaaaaa');
   richedit1.Lines.add('bbbbbbbbb');
   richedit1.Lines.add('ccccccccc');
   showtimer.enabled:=true;
end;
 
procedure TForm1.showTimerTimer(Sender: TObject);
begin
    showtimer.Enabled:=false;
    show_guidebuttons;
end;
 
procedure TForm1.show_guidebuttons;
var
   i:integer;
begin
   for i:=1 to 1 do begin
      guidebuttonform[i]:=tguidebuttonform.create(application);
      guidebuttonform[i].formstyle:=fsstayontop;
      guidebuttonimage[i]:=timage.create(guidebuttonForm[i]);
      guidebuttonimage[i].parent:=guidebuttonForm[i];
      guidebuttonimage[i].align:=alclient;
      guidebuttonimage[i].stretch:=true;
      guidebuttonform[i].width:=18;
      guidebuttonform[i].height:=18;
      guidebuttonform[i].left:=150;
      guidebuttonform[i].top:=150;
      guidebuttonimage[i].picture.LoadFromFile('c:\__Projects\aa.bmp');
      guidebuttonform[i].show;
   end;
end;
 
 
procedure TForm1.RichEdit1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
   apoint:tpoint;
begin
   apoint:=RichEdit1.CaretPos;
   showmessage(format('apoint.x=%d apoint.y=%d',[apoint.x,apoint.y]));
end;
 
end.
 
 
 
unit Guidebuttonu;
 
interface
 
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls,jpeg;
 
type
  TguidebuttonForm = class(TForm)
    _Image: TImage;
    procedure FormCreate(Sender: TObject);
  private
  public
  end;
var
  guidebuttonForm:array[1..5] of TguidebuttonForm;
  guidebuttonimage:array[1..5] of timage;
implementation
 
{$R *.DFM}
 
procedure TguidebuttonForm.FormCreate(Sender: TObject);
begin
   //bordersytleをbsnoneにする
   SetWindowLong(Handle,GWL_STYLE,
                  GetWindowLong(Handle, GWL_STYLE) and
                                 not WS_CAPTION);
   ClientHeight:=Height;
   Refresh;
end;
end.
igy kk

Posts: 109
Registered: 9/11/03
Re: Helpwriterに代わる操作説明文作成用ソフトはありませんか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 12, 2017 12:08 AM   in response to: osamu nagao in response to: osamu nagao
下記のサンプルプログラムのどこを修正すれば、この問題は解決するのでしょうか?、

Timerを使わなければ、どうなりますか?

あるいは、
procedure TForm1.show_guidebuttons;
の最後に、
RichEdit1.SetFocus;
を入れてみるとか・・

Edited by: igy kk on Mar 12, 2017 12:41 AM

Edited by: igy kk on Mar 12, 2017 1:02 AM

osamu nagao

Posts: 95
Registered: 3/22/04
Re: Helpwriterに代わる操作説明文作成用ソフトはありませんか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 12, 2017 2:32 PM   in response to: igy kk in response to: igy kk
igy kkさん、こんにちは。nagaoです。
レスくださいましてありがとうございます。

下記のサンプルプログラムのどこを修正すれば、この問題は解決するのでしょうか?、

Timerを使わなければ、どうなりますか?

あるいは、
procedure TForm1.show_guidebuttons;
の最後に、
RichEdit1.SetFocus;
を入れてみるとか・・
2つの対策を提案いただきましたこと実施すると、サンプルプログラムは正常に動作するように
なりましたが、私が自作したヘルププログラムでは、RichEdit1.CaretPosは正常に動作
するようになりましたが、guidebuttonsが何故か隠れてしまいます。

そこで、
  [ Delphi:90848]Re:fsStayOnTopのフォームなのに隠れてしまう
で、Novembr 02,2008 11:12PMに中村@ブレーンさんが、隠れてしまう対策として
Form1からFoem2を表示する場合、下記のコードを提案なさいました。
Ver
   f:TForm;
:
:
f:=TForm2.Create(Self);
setwindowLong(f.handle,GWL_HWNDPARENT,Handle); //HandleはForm1のウインドウハンドル

この提案に倣って、私も下記のテストプログラムを作ってみました。
しかし、このテストプログラムではコンパイル時に
image[i].onmousedown:=f[i]._imagemousedown;
image[i].onmouseup:=f[1]._imagemouseup;
の行で、_imagemousedownや_imagemouseupが未定義の識別子というエラーが発生します。
このエラーを解消する方法はないでしょうか?
あるいはfsStayOnTopのフォームなのに隠れてしまう別の対策はないでしょうか?

unit Unit1;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  f:array[1..6] of tform;
  image:array[1..6] of timage;
 
implementation
 
{$R *.dfm}
 
uses Unit2;
 
procedure TForm1.Button1Click(Sender: TObject);
var
   i:integer;
begin
   for i:=1 to 2 do begin
     f[i]:=tform2.create(self);
     setwindowLong(f[i].handle,GWL_HWNDPARENT,Handle);
     image[i]:=timage.create(f[i]);
     image[i].parent:=f[i];
     image[i].align:=alclient;
     image[i].onmousedown:=f[i]._imagemousedown;
     image[i].onmouseup:=f[1]._imagemouseup;
     image[i].stretch:=true;
     f[i].Show;
     f[i].Caption:=inttostr(i);
     f[i].left:=i*50;
     f[i].top:=i*50;
   end;
end;
end.
 
 
 
unit Unit2;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls;
 
type
  TForm2 = class(TForm)
    Image1: TImage;
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form2: TForm2;
implementation
 
{$R *.dfm}
 
procedure TForm2.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   showmessage('Form2.Image1MouseDown');
end;
 
procedure TForm2.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
   showmessage('Form2.Image1MouseMove');
end;
 
end.


上記の中村@ブレーンさんの投稿には補足のところに下記のことも書かれていますが、
下記のことも書かれています。
これも試してみましたが、使い方が私には分かりません。
「どのDelphiからかは忘れましたが、Delphi2007/2009ではAPIを使わなくても
新設されたTFormのPopupMode/PopupParentプロパティでOwner/Ownedウインドウ
関係を作ることができます。」
igy kk

Posts: 109
Registered: 9/11/03
Re: Helpwriterに代わる操作説明文作成用ソフトはありませんか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 12, 2017 3:12 PM   in response to: osamu nagao in response to: osamu nagao
osamu nagao wrote:
しかし、このテストプログラムではコンパイル時に
image[i].onmousedown:=f[i]._imagemousedown;
image[i].onmouseup:=f[1]._imagemouseup;
の行で、_imagemousedownや_imagemouseupが未定義の識別子というエラーが発生します。
このエラーを解消する方法はないでしょうか?

Unit2のTForm2には、Image1MouseDown、Image1MouseMove は、ありますが、
_imagemousedownや_imagemouseupは、ないですね。
osamu nagao

Posts: 95
Registered: 3/22/04
Re: Helpwriterに代わる操作説明文作成用ソフトはありませんか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 12, 2017 6:17 PM   in response to: igy kk in response to: igy kk
igy kkさん、こんにちは。nagaoです。

ご指摘頂いた点を修正した下記のテストプログラムを作成しましたが、コンパイルすると
image[i].onmousedown:=f[i].Image1MouseDown;
の行のImage1MouseDownの所や
image[i].onmouseup:=f[1].Image1MouseUp;
の行のImage1MouseUpの所で未定義の識別子のエラーがでます。
どう修正すれば良いのでしょうか?

unit Unit1;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  f:array[1..6] of tform;
  image:array[1..6] of timage;
 
implementation
 
{$R *.dfm}
 
uses Unit2;
 
procedure TForm1.Button1Click(Sender: TObject);
var
   i:integer;
begin
   for i:=1 to 2 do begin
     f[i]:=tform2.create(self);
     setwindowLong(f[i].handle,GWL_HWNDPARENT,Handle);
     image[i]:=timage.create(f[i]);
     image[i].parent:=f[i];
     image[i].align:=alclient;
     image[i].onmousedown:=f[i].Image1MouseDown;
     image[i].onmouseup:=f[1].Image1MouseUp;
     image[i].stretch:=true;
 
     f[i].Show;
     f[i].Caption:=inttostr(i);
     f[i].left:=i*50;
     f[i].top:=i*50;
 
   end;
end;
end.
 
unit Unit2;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls;
 
type
  TForm2 = class(TForm)
    Image1: TImage;
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form2: TForm2;
implementation
 
{$R *.dfm}
 
procedure TForm2.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   showmessage('Form2.Image1MouseDown');
end;
 
procedure TForm2.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   showmessage('Form2.Image1MouseUp');
end;
 
end.
igy kk

Posts: 109
Registered: 9/11/03
Re: Helpwriterに代わる操作説明文作成用ソフトはありませんか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 12, 2017 6:35 PM   in response to: osamu nagao in response to: osamu nagao
osamu nagao wrote:
ご指摘頂いた点を修正した下記のテストプログラムを作成しましたが、コンパイルすると
image[i].onmousedown:=f[i].Image1MouseDown;
の行のImage1MouseDownの所や
image[i].onmouseup:=f[1].Image1MouseUp;
の行のImage1MouseUpの所で未定義の識別子のエラーがでます。

試していませんが、

f:array[1..6] of tform;

で、tform を TForm2にしてみたら、どうなりますか?
osamu nagao

Posts: 95
Registered: 3/22/04
Re: Helpwriterに代わる操作説明文作成用ソフトはありませんか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 13, 2017 1:15 AM   in response to: igy kk in response to: igy kk
igy kk さん、nagaoです。

試していませんが、
f:array[1..6] of tform;
で、tform を TForm2にしてみたら、どうなりますか?

そうしてみましたら、テストプログラムも私のプログラムも正常に動作するようになりました。
永年解決しなかった不具合が解消したので大変喜んでおります。
本当にありがとうございました。
osamu nagao

Posts: 95
Registered: 3/22/04
Re: Helpwriterに代わる操作説明文作成用ソフトはありませんか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 16, 2017 5:16 PM   in response to: osamu nagao in response to: osamu nagao
nagaoです。いつも教えて頂きありがとうございます。

また、別の問題が発生しましたので、発言させていただきます。

下記の操作をすると一時的にハングしたような状態になります。
対策を教えて頂けませんでしょうか?

1)Windows10+Delphi 10.1 BelrinでForm1にRichEdit1を載せただけの下記の単純な
 テストプログラムを起動します。
2)RichEdit1に書かれている文字の一部をコピーするために、反転表示させたのち、
  Ctrlキーを押し続けた状態でCキーを押します。
  するとすぐに貼り付けできる状態に移る場合も偶にありますが、多くの場合10数秒
  ハングした状態になり、その状態で待っていると、やっと自動的に貼り付けできる
  状態になります。

interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls;
 
type
  TForm1 = class(TForm)
    RichEdit1: TRichEdit;
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
end.
igy kk

Posts: 109
Registered: 9/11/03
Re: Helpwriterに代わる操作説明文作成用ソフトはありませんか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 16, 2017 7:02 PM   in response to: osamu nagao in response to: osamu nagao
osamu nagao wrote:
下記の操作をすると一時的にハングしたような状態になります。

ちなみに、Windows 10 標準搭載のワードパッドで、同様の操作をした場合も
同じ現象が起きますか?
osamu nagao

Posts: 95
Registered: 3/22/04
Re: Helpwriterに代わる操作説明文作成用ソフトはありませんか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 16, 2017 7:43 PM   in response to: igy kk in response to: igy kk
igy kk さん、こんいちは。nagaoです。
早速レスくださいましてありがとうございます。

ちなみに、Windows 10 標準搭載のワードパッドで、同様の操作をした場合も
同じ現象が起きますか?
Windows 10 標準搭載のワードパッドでは、同じ現象は起きません。
igy kk

Posts: 109
Registered: 9/11/03
Re: Helpwriterに代わる操作説明文作成用ソフトはありませんか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 16, 2017 8:53 PM   in response to: osamu nagao in response to: osamu nagao
IDE上でコンパイル&実行した場合に、起こっているみたいですね。
ただし、生成したプログラムを実行した場合は、起きないみたいです。
osamu nagao

Posts: 95
Registered: 3/22/04
Re: Helpwriterに代わる操作説明文作成用ソフトはありませんか?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Mar 16, 2017 9:19 PM   in response to: igy kk in response to: igy kk
title=igyさん、nagaoです。

IDE上でコンパイル&実行した場合に、起こっているみたいですね。
ただし、生成したプログラムを実行した場合は、起きないみたいです。
私の方でもIDE上でコンパイル&実行した場合にはハングみたいな現象が
起きますが、生成したプログラムを実行した場合は起きないことを確認しました。

今まではコンパイル&実行した上でヘルプ文を作成していましたが、今後は
生成したプログラムを起動して、ヘルプ文を作成することに致します。

お陰さまで今回の問題もすばやく解決しました。
助言ありがとうございました。
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02