Rar Dll
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:
Kommt bei der Zeile:
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; 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>):DWord; 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 |
AW: Rar Dll
http://www.koders.com/delphi/fidF893...7C7393EBE.aspx
Für Lazurus musst du vielleicht noch ein paar Anpassungen machen |
AW: Rar Dll
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'; |
AW: Rar Dll
Aber du darfst auch bei Lazarus-Code gerne den Delphi-Tag nehmen!
|
AW: Rar Dll
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? |
AW: Rar Dll
Zitat:
Schau dir mal meinen Link an den ich oben gepostet hab. |
AW: Rar Dll
Und den absoluten Pfad anzugeben ist auch nicht sonderlich gut.
(abgesehn davon, daß solche DLLs nicht nach C:\ gehören) Ohne Pfad
Delphi-Quellcode:
sollte ausreichen
... external 'urar.dll';
das System sucht sich dann die DLL in den allgemein gültigen Verzeichnissen (Programmverzeichnis, Windos/System32 und andere global registrierte Pfade/%PATH% ) |
AW: Rar Dll
Hallo,
da in der unrar.pas kein PRAROpenArchiveData definiert ist, würde ich es so machen
Delphi-Quellcode:
oder du ergänzt die pas-Datei
function RAROpenArchive(var ArchiveData: TRAROpenArchiveData) XXX
Delphi-Quellcode:
PRAROpenArchiveData = ^TRAROpenArchiveData;
TRAROpenArchiveData = packed record Heiko |
AW: Rar Dll
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 |
AW: Rar Dll
Und noch eine Frage:
Wie entpacke ich mit der unrar.pas? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:42 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