AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Rar Dll

Ein Thema von 1234567890987654321 · begonnen am 15. Jul 2010 · letzter Beitrag vom 22. Sep 2010
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
1234567890987654321

Registriert seit: 8. Jun 2010
73 Beiträge
 
#1

Rar Dll

  Alt 15. Jul 2010, 08:15
Guten morgen,
Ich würde gerne mein Programm eine .rar Datei entpacken lassen.
Habe dazu auch schon dieses,
und dieses
Touturial gefunden.
Wollte die Dll am Anfang erst mal statisch einbinden.
Aber wenn ich diesen Code anwende:
Delphi-Quellcode:
function RAROpenArchive(ArchiveData: PRAROpenArchiveData): THandle; stdcall;
external 'C:\urar.dll';

function RARProcessFile(hArcData: THandle; Operation: Integer; DestPath: PChar;
DestName: PChar): Integer; stdcall;
external 'C:\unrar.dll';

procedure TForm1.Button1Click(Sender: TObject);
begin
  h:=RAROpenArchive('c:\b.rar');
  RARProcessFile(h,RAR_EXTRACT,nil,nil);
end;
Kommt bei der Zeile:
function RAROpenArchive(ArchiveData: PRAROpenArchiveData):
der Fehler
unit1.pas(31,57) Error: Identifier not found "PRAROpenArchiveData"
ud hier:
RARProcessFile(h,RAR_EXTRACT,nil,nil);,
dass: unit1.pas(43,31) Error: Identifier not found "RAR_EXTRACT"

Hier einmal alle Fehlermeldungen(jetzt sind auch Bemerkungen dabei)
unit1.pas(31,57) Error: Identifier not found "PRAROpenArchiveData"
unit1.pas(42,31) Error: Incompatible type for arg no. 1: Got "Constant String", expected "<erroneous type>"
unit1.pas(31,10) Hint: Found declaration: RAROpenArchive(<erroneous type>)Word; StdCall;
unit1.pas(43,31) Error: Identifier not found "RAR_EXTRACT"
unit1.pas(51) Fatal: There were 3 errors compiling module, stopping


Kann mir jemand helfen, bzw. ein klleines Stückchen Code geben?
Danke schonmal für eure Antworten
ACHTUNG: ICH VERWENDE LAZARUS

Geändert von mkinzler (15. Jul 2010 um 08:42 Uhr) Grund: Code-Tag durch Delphi-Tag ersetzt
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#2

AW: Rar Dll

  Alt 15. Jul 2010, 08:41
http://www.koders.com/delphi/fidF893...7C7393EBE.aspx

Für Lazurus musst du vielleicht noch ein paar Anpassungen machen
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
Benutzerbild von GPRSNerd
GPRSNerd

Registriert seit: 30. Dez 2004
Ort: Ruhrpott
239 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Rar Dll

  Alt 15. Jul 2010, 08:41
Der Schreibfehler für den DLL-Namen in genau dieser Zeile ist dir aufgefallen?
Solle UNRAR.DLL und nicht URAR.DLL lauten...

Delphi-Quellcode:
function RAROpenArchive(ArchiveData: PRAROpenArchiveData): THandle; stdcall;
external 'C:\urar.dll';
Stefan
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Rar Dll

  Alt 15. Jul 2010, 08:42
Aber du darfst auch bei Lazarus-Code gerne den Delphi-Tag nehmen!
Markus Kinzler
  Mit Zitat antworten Zitat
1234567890987654321

Registriert seit: 8. Jun 2010
73 Beiträge
 
#5

AW: Rar Dll

  Alt 15. Jul 2010, 08:44
Danke, der ist aber öeider nicht mal entscheident,
es kommt wegen der Fehler gar nich erst zur ausführung

P.S. Sorry vllt. kans jemand noch vreschieben?
ACHTUNG: ICH VERWENDE LAZARUS
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#6

AW: Rar Dll

  Alt 15. Jul 2010, 08:47
Danke, der ist aber öeider nicht mal entscheident,
es kommt wegen der Fehler gar nich erst zur ausführung
Klar weil dir die Deklarationen von den Konstanten und den Records fehlen.
Schau dir mal meinen Link an den ich oben gepostet hab.
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#7

AW: Rar Dll

  Alt 15. Jul 2010, 08:53
Und den absoluten Pfad anzugeben ist auch nicht sonderlich gut.
(abgesehn davon, daß solche DLLs nicht nach C:\ gehören)

Ohne Pfad ... external 'urar.dll'; sollte ausreichen
das System sucht sich dann die DLL in den allgemein gültigen Verzeichnissen (Programmverzeichnis, Windos/System32 und andere global registrierte Pfade/%PATH% )
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (15. Jul 2010 um 09:13 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Rar Dll

  Alt 15. Jul 2010, 08:59
Hallo,

da in der unrar.pas kein PRAROpenArchiveData definiert ist,
würde ich es so machen

function RAROpenArchive(var ArchiveData: TRAROpenArchiveData) XXX oder du ergänzt die pas-Datei

Delphi-Quellcode:
PRAROpenArchiveData = ^TRAROpenArchiveData;
TRAROpenArchiveData = packed record


Heiko
Heiko
  Mit Zitat antworten Zitat
1234567890987654321

Registriert seit: 8. Jun 2010
73 Beiträge
 
#9

AW: Rar Dll

  Alt 15. Jul 2010, 09:00
Lazarus kommt mit den @ nicht klar:
unit1.pas(168,14) Error: Incompatible types: got "<procedure variable type of function:LongInt;StdCall>" expected "LongInt"
unit1.pas(183,7) Error: Can't assign values to an address
unit1.pas(184,7) Error: Can't assign values to an address
unit1.pas(185,7) Error: Can't assign values to an address
unit1.pas(186,7) Error: Can't assign values to an address
unit1.pas(187,7) Error: Can't assign values to an address
unit1.pas(188,7) Error: Can't assign values to an address
unit1.pas(189,7) Error: Can't assign values to an address
unit1.pas(190,7) Error: Can't assign values to an address
unit1.pas(191,7) Error: Can't assign values to an address
unit1.pas(219,31) Error: Incompatible types: got "Constant String" expected "TRAROpenArchiveData"
unit1.pas(228) Fatal: There were 13 errors compiling module, stopping
ACHTUNG: ICH VERWENDE LAZARUS
  Mit Zitat antworten Zitat
1234567890987654321

Registriert seit: 8. Jun 2010
73 Beiträge
 
#10

AW: Rar Dll

  Alt 15. Jul 2010, 09:17
Und noch eine Frage:
Wie entpacke ich mit der unrar.pas?
ACHTUNG: ICH VERWENDE LAZARUS
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz