インターフェース - アセンブリ(1/2)


アセンブリは「.NET Framework」 と「.NET」に対応したコンパイルされたコードライブラリです。
アセンブリを通じて様々な機能を簡単に利用することができます。

アセンブリから「2025 Runtime」を起動し利用する方法について説明します。


アセンブリファイルとクラス情報
Visual Studio 2022 のWPFアプリで帳票を表示(WfrUserControl)
Visual Studio 2022 のWPFアプリでビジュアルスタイルを適用
Visual Studio 2022 のWPFアプリからアセンブリを使う(WfrControl)
Visual Studio 2022 のフォームアプリからアセンブリを使う(WfrControl)
Webサーバーのアプリ(ASPX)からアセンブリを使う(WfrCommand)





アセンブリファイルとクラス情報


アセンブリは内部で「wfr2025c.dll」や「wfr2025v.exe」を利用して機能を実現しています。
これらのファイルを任意のフォルダに置いて利用することも可能ですが、制限なしで利用するにはライセンス版のインストールが必要です。


<アセンブリDLL>

WfrLib2025.dll

WfrLib2025.dll は Any CPU で作成されているため32bit/64bitどちらのプラットフォームでも動作します。
アセンブリは利用するプロジェクトに応じて選択する必要があります。



<プロジェクトと参照するアセンブリの場所>

プロジェクト ターゲット アセンブリの場所
Windowsフォームアプリケーション(.NET Framework) .NET Framework
4.6.1以降
4.6.1\WfrLib2025.dll
WPFアプリ(.NET Framework)
Windowsフォームアプリ .NET 8.0 以降 net8.0\WfrLib2025.dll
WPFアプリケーション net8.0(WPF)\WfrLib2025.dll


上記アセンブリは「2025 Client/Server」のインストールフォルダに展開されています。
Windowsの「スタート」メニューからフォルダを表示することができます。
「Wonderful Report 2025 Server」−「Assembly」
「Wonderful Report 2025 Client」−「Assembly」

%LOCALAPPDATA%\TERASOFT DESIGN\Wonderful Report 2025 Client\Assembly
%PROGRAMFILES%\TERASOFT DESIGN\Wonderful Report 2025 Server\Assembly



<アセンブリ(DLL)の置き場所>
アセンブリ(DLL)は通常、呼び出し元アプリと同じフォルダに置きますが、WebサーバーではサイトのBinフォルダに置きます。
「Visual Studio」などは、参照設定に登録することでリビルドのタイミングで登録した参照DLLがアプリのフォルダにコピーされます。



<クラス名と説明>

クラス名 説明
WFR2025.WfrControl ローカルアプリのバックグラウンド処理に向いています。

wfr2025c.dll」にDLL関数で接続し帳票の表示・印刷などの操作を行うことができます。
WFR2025.WfrCommand Webサーバーなどで繰り返しバックグラウンド実行されるような場面での利用に適しています。

wfr2025v.exe」をコマンド実行するクラスです。コマンドの生成をメソッドを使って行うことができます。
その都度、別プロセスで実行されるため、呼び出し元アプリ(アプリケーションプールなど)の負荷を少なくすることができます。
WFR2025.WfrUserControl WPFアプリのウインドウに帳票を表示することができます。

wfr2025c.dll」にDLL関数で接続し帳票の表示・印刷などの操作を行うことができます。


「2025 Server」で利用する場合、必ずセットアッププログラムでインストールする必要があります。


「2025 Client」ライセンス版で利用する場合、必ずセットアッププログラムでインストールする必要があります。
フリー版で利用する場合は、WfrLib2025.dll と同じフォルダに必要なファイル(wfr2025c.dll or wfr2025v.exe)を配置することでも可能です。
動作するプラットフォームが固定でない場合、次のようなファイル・フォルダ構成で配置してください。

WfrLib2025.dll
x86\wfr2025c.dll
x86\wfr2025v.exe
x64\wfr2025c.dll
x64\wfr2025v.exe




<実行ライセンスの選択>
アセンブリは「2025 Client」と「2025 Server」で共通で、標準の実行ライセンスは「2025 Client」となっています。
「2025 Server」ライセンスで動作させる場合は、コンストラクター等で指定する必要があります。

「2025 Client」として実行する場合:特に指定の必要はありません.

WFR2025.WfrControl wfrObj = new WFR2025.WfrControl()
WFR2025.WfrCommand wfrObj = new WFR2025.WfrCommand()

<WFR2025:WfrUserControl x:Name="WfrUserControl1"/>

「2025 Client」として利用する場合はアクセス可能な場所に「wfr2025v.exe」「wfr2025c.dll」が必要です。
「2025 Client」または「2025 Server」をセットアッププログラムでインストール。あるいは、呼び出しアプリのアプリフォルダの所定の位置に「wfr2025v.exe」「wfr2025c.dll」を置くことでも利用できます。


「2025 Server」として実行する場合:コンストラクタ等で指定する必要があります。
コンストラクタで「WFR2025.CT.SERVER」を指定します。
UserControlの場合は「CreateType」に「1」を指定します。

WFR2025.WfrControl wfrObj = new WFR2025.WfrControl(WFR2025.CT.SERVER)
WFR2025.WfrCommand wfrObj = new WFR2025.WfrCommand(WFR2025.CT.SERVER)

<WFR2025:WfrUserControl x:Name="WfrUserControl1" CreateType="1" />

「2025 Server」を指定する場合は、セットアッププログラムで「2025 Server」をインストールしておく必要があります。





Visual Studio 2022 のWPFアプリで帳票を表示(WfrUserControl)


「Visual Studio 2022」のWPFアプリでアセンブリを使ってウインドウ上に帳票を表示する方法について説明します。
ここでは、「.NET Framework」のプロジェクトで説明しています。「.NET」のプロジェクトでも同様です。

プロジェクトにアセンブリ(4.6.1\WfrLib2025.dll)への参照を追加します。
「ソリューションエクスプローラー」でプロジェクトの「参照」をマウス右クリックし「参照の追加」をクリックします。





「参照マネージャー」ダイアログの「参照」ボタンから「WfrLib2025.dll」を選択しチェックします。
「OK」ボタンでダイアログを閉じるとプロジェクトの「参照」に「WfrLib2025」が追加されます。

参照:「プロジェクトと参照するアセンブリの場所





帳票を表示するウインドウに「WFR2025.WfrUserContorl」を定義します。
ウインドウのxamlに赤字の部分を追加します。

MainWindow.xaml

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        xmlns:WFR2025="clr-namespace:WFR2025;assembly=WfrLib2025"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
        <Grid>
                <WFR2025:WfrUserControl x:Name="WfrUserControl1"/>
        </Grid>
</Window>






デザインでコントロールをクリックすると「型 WFR2025.WfrUserControlの要素を表示できませんでした」とエラーが表示されます。
これは、アプリフォルダにアセンブリ(WfrLib2025.lib)が存在しないためにでるエラーです。
プロジェクトを「ビルド」することで参照設定の「WfrLib2025.dll」がコピーされエラーがでなくなり、次のような画面になります。




この状態で実行すると次のようになります。




MainWindowを表示するタイミングで帳票を表示する場合は、ユーザコントロール(サンプルではWfrUserControl1)のLoadedイベント内でコントロールの操作を行います。


MainWindowのLoadedイベントではコントロールが生成されていないため、必ずユーザコントロールのLoadedイベントで処理を行ってください。



MainWindow.xaml.cs:MainWindowで帳票を表示(C#)



ここまでの設定で、下記のようにWPFアプリのMainWindowに帳票を表示することができます。







Visual Studio 2025 WPFアプリでビジュアルスタイルを適用



WPFアプリの標準設定では「WfrUserContro」の外観は旧Windowsのスタイルが適用されています。
WindowsのVisualスタイルを適用するには、アプリのマニュフェストを設定する必要があります。


プロジェクトを選択し「ポップアップメニュー」の「追加」から「新しい項目」をクリックします。




「新しい項目の追加」ダイアログで「アプリケーションマニュフェストファイル(Windowsのみ)を選択し「追加」ボタンで追加します。




プロジェクトにマニュフェストが追加されたら、無効化(コメント)されている「Windows のコモン コントロールとダイアログのテーマを有効にします (Windows XP 以降)」のコメントを削除し有効化します。




プロジェクトのプロパティを開き「アプリケーション」タブの「マニュフェスト」の設定状況を確認します。




実行してVisualスタイルが有効となっているか確認します。







Visual Studio 2022 のWPFアプリからアセンブリを使う(WfrControl)


「Visual Studio 2022」のWPFアプリからアセンブリを使って帳票を操作する方法について説明します。
ここでは、「.NET Framework」のプロジェクトで説明しています。「.NET」のプロジェクトでも同様です。

プロジェクトにアセンブリ(4.6.1\WfrLib2025.dll)への参照を追加します。
「ソリューションエクスプローラー」でプロジェクトの「参照」をマウス右クリックし「参照の追加」をクリックします。




「参照マネージャー」ダイアログの「参照」ボタンから「WfrLib2025.dll」を選択しチェックします。
「OK」ボタンでダイアログを閉じるとプロジェクトの「参照」に「WfrLib2025」が追加されます。

参照:「プロジェクトと参照するアセンブリの場所






SAMPLE1

フォーム上のボタンクリックで、帳票をダイアログに表示。




帳票をダイアログで表示(C#) WPFウインドウ対応のWPF_DoModal( )を使用




SAMPLE2

フォーム上のボタンクリックで、印刷ダイアログを表示。




印刷ダイアログを表示(C#) WPFウインドウ対応のWPF_PrintOut( )を使用






Visual Studio 2022 のフォームアプリからアセンブリを使う(WfrControl)


「Visual Studio 2022」のWindowsフォームアプリからアセンブリを使って帳票を操作する方法について説明します。
ここでは、「.NET」のプロジェクトで説明しています。「.NET Framework」のプロジェクトでも同様です。

プロジェクトにアセンブリ(net8.0\WfrLib2025.dll)への参照を追加します。
「ソリューションエクスプローラー」でプロジェクトの「依存関係」をマウス右クリックし「プロジェクト参照の追加」をクリックします。




「参照マネージャー」ダイアログの「参照」ボタンから「WfrLib2025.dll」を選択しチェックします。
「OK」ボタンでダイアログを閉じるとプロジェクトの「依存関係」に「WfrLib2025」が追加されます。

参照:「プロジェクトと参照するアセンブリの場所






SAMPLE1

フォーム上のボタンクリックで、帳票をダイアログに表示。




帳票をダイアログで表示(C#)




SAMPLE2

フォーム上のボタンクリックで、印刷ダイアログを表示。




印刷ダイアログを表示(C#)






Webサーバーのアプリ(ASPX)からアセンブリを使う(WfrCommand)


Webシステムのサーバー側アプリからアセンブリを使って帳票を操作する方法について説明します。



SAMPLE1

WebブラウザにWebサーバー(IIS+ASP)で作成したPDFファイルを表示するサンプルです。

<実行条件>
Webサーバーに「2025 Server」をインストール。
対象の「WfrLib2025.dll」をWebサイトのBinフォルダに配置します。
IIS/ASPのデフォルトは「.NET Framework」です。

参照:「プロジェクトと参照するアセンブリの場所


sample.aspx : WebサーバーでPDFを作成しブラウザに送信(C#)



sample.html:Webサーバーのアプリを実行してPDFを表示(HTML)



SAMPLE2

Webブラウザ上に「2025 Client」のActiveXを使ってWebサーバーで作成した印刷イメージファイルを表示するサンプルです。
sample.html を「IEモード」で開く必要があります。

<実行条件>
Webサーバーに「2025 Server」をインストール。
対象の「WfrLib2025.dll」をWebサイトのBinフォルダに配置します。
IIS/ASPのデフォルトは「.NET Framework」です。

クライアントPCに「2025 Client」または「2025 Server」をインストール(フリー版でも可)。
「IEモード」を使用。

参照:「プロジェクトと参照するアセンブリの場所





sample.aspx:Webサーバーで印刷イメージを作成しブラウザに送信(C#)



sample.html:Webサーバーのsample.aspxから印刷イメージを取得しActiveXで表示(HTML)