resource Dateien --> gelöst

Für Fragen von Einsteigern und Programmieranfängern...
Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: resource Dateien

Beitrag von Bauer321 »

ne ich dachte das ist der name und mir war nicht bewuss das man den wenns ne zahl ist als integer übergeben muss
geht aber immer noch nicht:
DiBo33 hat geschrieben:Übergebe dein Parameter nicht als String, sondern als integer und verwende TResourceStream.CreateFromId
--> hab ich so übernommen
DiBo33 hat geschrieben:desweiteren ist der Resourcetype nicht der String 'RT_RCDATA' sondern die Konstante RT_RCDATA.
--> dann bleibt der Compiler stehen --> fehlt da vielleicht ne unit?

Code: Alles auswählen

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

Code: Alles auswählen

procedure TFMain.bpatchClick(Sender: TObject);
begin
  if Combobox1.Text = 'Minecraft 1.5_01' then Extractjar(1501);
  if Combobox1.Text = 'Minecraft 1.4' then Extractjar(1400);
  if Combobox1.Text = 'Minecraft 1.3_01' then Extractjar(1201);
  if Combobox1.Text = 'Minecraft 1.2_02' then Extractjar(1202);
  if Combobox1.Text = 'Minecraft 1.1_02' then Extractjar(1102);
end;
 
procedure TFMain.Extractjar(rname:Integer);
var
  S: TResourceStream;
  F: TFileStream;
begin
  //S := TResourceStream.Create(HInstance, rname, 'RT_RCDATA');
  S := TResourceStream.CreateFromID(HInstance, rname, 'RT_RCDATA');
  F := TFileStream.Create(ExtractFilePath(ParamStr(0)) + String('minecraft'+inttostr(rname)+'.jar'), fmCreate);
  F.CopyFrom(S, S.Size);
  F.Free;
  S.Free;
end;
selber Fehler wie vom anfang an "Resource 1501 not found"

edit geschafft!
also man muss anstelle von RT_RCDATA MAKEINTRESOURCE(10) verwenden.
www.mcpatcher.net | www.hoeper.me

DiBo33
Beiträge: 334
Registriert: Do 11. Okt 2007, 18:01

Re: resource Dateien --> gelöst

Beitrag von DiBo33 »

Du hast ja auch schon wieder ein String angegeben.

Code: Alles auswählen

S := TResourceStream.CreateFromID(HInstance, rname, RT_RCDATA);
  F := TFileStream.Create(Format('%sminacraft%d.jar' [dExtractFilePath(ParamStr(0)), rname]), fmCreate);

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: resource Dateien --> gelöst

Beitrag von MAC »

noch so ein Minecraft Suchti :D
bei mir ist das schon so schlimm, dass ich minecraft nachprogrammiert habe , teilweise :D

Code: Alles auswählen

Signatur := nil;

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: resource Dateien --> gelöst

Beitrag von Bauer321 »

DiBo33 hat geschrieben:Du hast ja auch schon wieder ein String angegeben.

Code: Alles auswählen

S := TResourceStream.CreateFromID(HInstance, rname, RT_RCDATA);
  F := TFileStream.Create(Format('%sminacraft%d.jar' [dExtractFilePath(ParamStr(0)), rname]), fmCreate);
mittlerweile hab ich da nen pchar das geht super
und rname isn integer
so sieht es jetzt aus und es geht super
MAC hat geschrieben:noch so ein Minecraft Suchti :D
bei mir ist das schon so schlimm, dass ich minecraft nachprogrammiert habe , teilweise :D
zeig ma^^
also das ding hier ist damit man die mc version schnell wechseln kann weil manche server 1.5 und andere 1.4 sind
www.mcpatcher.net | www.hoeper.me

Antworten