Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.304 Beiträge
 
Delphi 12 Athens
 
#6

AW: Inno Setup, Dateiauswahl und kopieren

  Alt 3. Dez 2015, 10:05
Guten Morgen...

Ich habe mich für die DLL Variante entschieden. Da kann ich ggf. beliebig erweitern. Es gab hier und da ein paar Problemchen im Script welche aber zur Weiterbildung beigetragen haben.
Eines verstehe ich aber nicht:
Ich mußte den "String" Parameter als PAnsiChar übergeben. Bei PChar kam nur Müll in der DLL an.
PS: Die Typen waren in jeder Variante sowohl in der DLL als auch im Script identisch... Hat jemand eine Erklärung dafür?
DLL:
Delphi-Quellcode:
function CopyLicenseFile(ProductTypeID: Integer; TargetFolder: PAnsiChar): Boolean; stdcall;
begin
  Result:= TSetupTools.CopyLicense(ProductTypeID, TargetFolder);
end;

exports
  CopyLicenseFile;
Script:
Delphi-Quellcode:
function CopyLicenseFile(ProductTypeID: Integer; TargetFolder: PAnsiChar): Boolean;
external 'CopyLicenseFile@files:dSetupTools.dll stdcall setuponly';

procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssPostInstall then
  begin
    if IsComponentSelected('Server') and IsTaskSelected('License') then
    begin
      CopyLicenseFile(3, PAnsiChar(ExpandConstant('{userappdata}\DIMOWA\dVAServer\License')));
    end;
  end;
end;
  Mit Zitat antworten Zitat