⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 firstdll.dpr

📁 外国人写的各种类型的源代码,有兴趣的朋友看看吧!是学习的好东西哟
💻 DPR
字号:
library Firstdll;

{changing the uses statement, as suggested in
the comments, the size of the DLL changes}

uses
  ShareMem, SysUtils, Dialogs; // larger code
{uses
  Windows; // minimal}

function Triple (N: Integer): Integer; stdcall;
begin
  ShowMessage ('Triple function called');
{  MessageBox (0, 'Triple function called',
    'First DLL', mb_OK);}
  Result := N * 3;
end;

function Double (N: Integer): Integer; stdcall;
begin
  ShowMessage ('Double function called');
{  MessageBox (0, 'Double function called',
    'First DLL', mb_OK);}
  Result := N * 2;
end;

function DoubleString (S: string; Separator: Char): string; stdcall;
begin
  Result := S + Separator + S;
end;

function DoublePChar (BufferIn, BufferOut: PChar;
  BufferOutLen: Integer; Separator: Char): LongBool; stdcall;
var
  SepStr: array [0..1] of Char;
begin
  // if the buffer is large enough
  if BufferOutLen > StrLen (BufferIn) * 2 + 2 then
  begin
    // copy the input buffer in the output buffer
    StrCopy (BufferOut, BufferIn);
    // build the separator string (value plus null terminator)
    SepStr [0] := Separator;
    SepStr [1] := #0;
    // append the separator
    StrCat (BufferOut, SepStr);
    // append the input buffer once more
    StrCat (BufferOut, BufferIn);
    Result := True;
  end
  else
    // not enough space
    Result := False;
end;

exports
  Triple, Double, DoubleString, DoublePChar;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -