掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
COBOLからDELPHI(DLL)を呼び出すには? (ID:40439)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
10数年前に、MF-COBOL V5.0Jで試験的に作ったPGからそれらしい所を 拾ってきました。 何かの参考になれば、と言うことで... ちょっと長いですが、ご容赦を。 読みにくい事もお許しを。m(_ _)m 000010$set case defaultbyte"00" 000020 000030 IDENTIFICATION DIVISION. 000040 PROGRAM-ID. dll-call. 000050 ENVIRONMENT DIVISION. 000060 CONFIGURATION SECTION. 000070 SOURCE-COMPUTER. 000080 OBJECT-COMPUTER. 000090*--重要追加項目-----------------------------------------------* 000100 special-names. 000110* call-convention 74 is WINAPI. 000120*-------------------------------------------------------------* 000130 000140 WORKING-STORAGE SECTION. 000170 000220 01 dll-max pic s9(09) comp-5. 000230 01 dll-min pic s9(09) comp-5. 000240 01 ret-FLAG PIC S9(09) COMP-5. 01 kotae pic s9(09) comp-5. 000310 01 minmax PROCEDURE-POINTER. procedure division. 001570 SET minmax TO ENTRY "minmax.dll". 000370 max-call. move 356 to dll-max. 000380 move 123 to dll-min. 000390 000400 CALL "Max" using 000410 by value dll-max 000420 by value dll-min 000430 returning ret-flag. 000440 move ret-flag to kotae. display kotae at 0101. 000460 000480 min-call. move 356 to dll-max. 000380 move 123 to dll-min. 000500 000510 CALL "Min" using 000520 by value dll-max 000530 by value dll-min 000540 returning ret-flag. move ret-flag to kotae. display kotae at 0201. 40 *----------------------------------- 000650 exit-prog. 000660 EXIT PROGRAM. 000670 STOP RUN. ********************** 以上 COBOL ********************* ********************** 以下 Delphi ********************* library minmax; uses SysUtils, Classes, // Unit1 in 'Unit1.pas' {Form1}; {$R *.res} function Min(X,Y:Integer):Integer;stdcall; begin if X < Y then Min := X else Min := Y; end; function Max(X,Y:Integer):Integer;stdcall; begin if X > Y then Max :=X else Max := Y; end; exports Min, Max; begin end.
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.