喫茶XRAYトップページ


[1783] 念のためにユーザー用紙定義を削除したいのですが。返信 削除
2008/8/2 (土) 17:33:17 KSC
再び質問なのですが、SetUserPaperでユーザー用紙定義を追加
しているのですが、アプリ起動中にユーザーがどのくらい
プリンターを切り替えているか分からないので、
アプリのOnCloseQueryイベントで全てのプリンターに対して
DeleteUserPaperを実行したのですが、アプリ終了後に
「プリンターとFAX」にて任意プリンターのプロパティー
で、追加したユーザー用紙定義が消えているかを確認しましたが、
消えていませんでした。

下記のようなソースでは削除できないのでしょうか?

procedure TPrevFrm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
  i, n: Integer;
begin
  n := Printer.PrinterIndex;
  try
    for i := 0 to plSetPrinter1.PrintersCount - 1 do begin
      plSetPrinter1.PrinterName := Printer.Printers[ i ];
      plSetPrinter1.DeleteUserPaper( MyPaperName );
    end;
  finally
    Printer.PrinterIndex := n;
  end;
end;


[1784] Re:念のためにユーザー用紙定義を削除したいのですが。(自己レス)返信 削除
2008/8/2 (土) 18:14:47 KSC
▼ KSCさん
> procedure TPrevFrm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
> var
>   i, n: Integer;
> begin
>   n := Printer.PrinterIndex;
>   try
>     for i := 0 to plSetPrinter1.PrintersCount - 1 do begin
>       plSetPrinter1.PrinterName := Printer.Printers[ i ];
>       plSetPrinter1.DeleteUserPaper( MyPaperName );
>     end;
>   finally
>     Printer.PrinterIndex := n;
>   end;
> end;


すいません。私の勘違いでした。
上記のソースで全プリンターに対してDeleteUserPaperは反応していました。

[1793] Re2:念のためにユーザー用紙定義を削除したいのですが。(自己レス)返信 削除
2008/8/2 (土) 22:13:12 Mr.XRAY
▼ KSCさん

> すいません。私の勘違いでした。
> 上記のソースで全プリンターに対してDeleteUserPaperは反応していました。


今回は削除できているようですが,実は,作成はできても,削除できない
場合もあるんです.
これはですね,「仕様」です (^_^;)

[1795] Re3:念のためにユーザー用紙定義を削除したいのですが。(自己レス)返信 削除
2008/8/2 (土) 22:53:17 KSC
▼ Mr.XRAYさん

> 今回は削除できているようですが,実は,作成はできても,削除できない
> 場合もあるんです.
> これはですね,「仕様」です (^_^;)


「仕様」なのですが... ... ... しょうがないですね!

まっ、今回は削除できないプリンターは社内には見当たらなかったので
OKです。

INCM/CMT
Cyclamen v3.82