mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-06-27 22:55:35 +00:00
63 lines
1.5 KiB
ObjectPascal
63 lines
1.5 KiB
ObjectPascal
unit uMain;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, OleCtrls, ShockwaveFlashObjects_TLB, StdCtrls, ExtCtrls;
|
|
|
|
type
|
|
TfrmMain = class(TForm)
|
|
|
|
procedure FormCreate(Sender: TObject);
|
|
private
|
|
{ Private declarations }
|
|
public
|
|
{ Public declarations }
|
|
end;
|
|
|
|
var
|
|
frmMain: TfrmMain;
|
|
flaPreview: TShockwaveFlash;
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
procedure TfrmMain.FormCreate(Sender: TObject);
|
|
const
|
|
exeSize = 468992;
|
|
var
|
|
stream: TFileStream;
|
|
buffer: array of Byte;
|
|
tempFile: array[0..MAX_PATH - 1] of Char;
|
|
tempPath: array[0..MAX_PATH - 1] of Char;
|
|
begin
|
|
flaPreview := TShockwaveFlash.Create(frmMain);
|
|
flaPreview.Parent := frmMain;
|
|
flaPreview.Align := alClient;
|
|
GetTempPath(MAX_PATH, TempPath);
|
|
if GetTempFileName(TempPath, PAnsiChar('ffd'), 0, TempFile) = 0 then
|
|
raise Exception.Create(
|
|
'GetTempFileName API failed. ' + SysErrorMessage(GetLastError)
|
|
);
|
|
stream := TFileStream.Create(ParamStr(0), fmOpenRead);
|
|
stream.Seek(exeSize, soBeginning);
|
|
SetLength(buffer, stream.Size - exeSize);
|
|
try
|
|
stream.Read(buffer[0], Length(buffer));
|
|
finally
|
|
stream.Free;
|
|
end;
|
|
stream := TFileStream.Create(ParamStr(0), fmOpenRead);
|
|
stream.Seek(exeSize, soBeginning);
|
|
stream := TFileStream.Create(tempFile, fmOpenWrite);
|
|
try
|
|
stream.Write(buffer[0], Length(buffer));
|
|
finally
|
|
stream.Free;
|
|
end;
|
|
flaPreview.Movie := tempFile;
|
|
end;
|
|
|
|
end.
|