Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 23
Благодарности: 0

Профиль | Отправить PM | Цитировать


Как создать массив данных (или просто переменная) в длл на делфи так, чтобы потом с этим массивом/переменной можно было работать в NSIS?
Например, у меня в длл есть такая переменная:
Код: Выделить весь код
library libname;

type
  TProcessInfo = record
    ..
  end;
  TProcessesInfo = array of TProcessInfo;

var
  Processes: TProcessesInfo;
  b: Byte;

...
  
procedure proba1(const hwndParent: HWND; const string_size: integer; const variables: PAnsiChar; const stacktop: pointer); cdecl;
var
  Descr: AnsiString;
  i: Integer;
begin
  // setup global variables
  g_stringsize := string_size;
  g_hwndParent := hwndParent;
  g_stacktop := stacktop;
  g_variables := variables;

  Inc(b);
  NSISDialog(Format('%d', [b]), 'proba', MB_OK);
end;
  
exports
  proba1;

begin
end.
При вызове в NSIS так:
Код: Выделить весь код
My_dll::proba1
Всегда показывает "1", т.е. значение предыдущего вызова теряется. Как так?

Отправлено: 13:01, 27-11-2014 | #1380