From 43bd7d565f6dfdac806dd6f22442d5ca660fe8b0 Mon Sep 17 00:00:00 2001 From: kichik Date: Mon, 3 Nov 2003 09:01:53 +0000 Subject: [PATCH] SetUserVariable for Delphi ExDLL too - thanks spidervenom git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@3089 212acab6-be3b-0410-9dea-997c60f758d6 --- Contrib/ExDLL/exdll.dpr | 9 +++++++++ Contrib/ExDLL/nsis.pas | 10 ++++++++++ 2 files changed, 19 insertions(+) diff --git a/Contrib/ExDLL/exdll.dpr b/Contrib/ExDLL/exdll.dpr index 2fccf576..2e92ac57 100644 --- a/Contrib/ExDLL/exdll.dpr +++ b/Contrib/ExDLL/exdll.dpr @@ -96,6 +96,15 @@ begin Result:=g_variables+integer(varnum)*g_stringsize; end; +procedure SetUserVariable(varnum: TVariableList; value: PChar); +begin + if (value = nil) or (integer(varnum) < 0) or (integer(varnum) >= integer(__INST_LAST)) then + begin + Exit; + end; + lstrcpy(g_variables+integer(varnum)*g_stringsize,value); +end; + function ex_dll(hwndParent: HWND; string_size: integer; variables: PChar; stacktop: pointer):integer; cdecl; var c: PChar; diff --git a/Contrib/ExDLL/nsis.pas b/Contrib/ExDLL/nsis.pas index 0a36baeb..e0fd1a23 100644 --- a/Contrib/ExDLL/nsis.pas +++ b/Contrib/ExDLL/nsis.pas @@ -63,6 +63,7 @@ procedure Init(hwndParent: HWND; string_size: integer; variables: PChar; stackto function PopString(str: PChar):integer; function PushString(str: PChar):integer; function GetUserVariable(varnum: TVariableList):PChar; +function SetUserVariable(varnum: TVariableList; value: PChar):integer; implementation @@ -116,5 +117,14 @@ begin Result:=g_variables+integer(varnum)*g_stringsize; end; +procedure SetUserVariable(varnum: TVariableList; value: PChar); +begin + if (value = nil) or (integer(varnum) < 0) or (integer(varnum) >= integer(__INST_LAST)) then + begin + Exit; + end; + lstrcpy(g_variables+integer(varnum)*g_stringsize,value); +end; + begin end.