Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: So Jul 27, 2025 17:52

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: DLL : Klassen aus ner dll saugen
BeitragVerfasst: Mo Aug 04, 2003 16:12 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 28, 2002 19:27
Beiträge: 568
Wohnort: Chemnitz / Sachsen
hallo, also ich hab mir ne dll runtergeladen, mit der ich in archiven von spielen (BF1942 als beispiel) rumspielen kann und files raussaugen kann. das bräuchte ich nur zum testen und so. (mir ist klar die sache mit dem gesetz!!!)

nun hab ich ein problem :

in der dll ist ne klasse und die hat ne funktion, die ich brauch, doch ich komm da ne ran

hier ma die readme.txt

Code:
  1. <==========================
  2. MultiEx 3 ActiveX DLL
  3. ==========================>
  4.  
  5. Version    : 1.00
  6. COpyright  : XeNTaX 2003
  7. Author     : M.W.Zuurman (AKA Mr.Mouse)
  8. Website    : http://www.xentax.com
  9.  
  10. ---------------------------
  11.  
  12. Instructions for authors:
  13.  
  14. If you want to implement the MultiEx GameArchive Analysis
  15. Engine in your programs you must be aware of the following:
  16.  
  17. You must regsvr32.exe it.
  18.  
  19. You must have Binary MultiEx Scripts (*.BMS) files that enable
  20. processing of the archive you want to process!
  21. (There are much included in the DLL package)
  22.  
  23.  
  24. The CLASS you want to address is AMex3GetFileInfoClass.
  25. The CLASS AMex3GetFileInfoClass gives you access to
  26. the function Mex3GetFileInfo.
  27.  
  28. For example, assign a new AMex3GetFileInfoclass called RunMex and use
  29. it to call the function : ie "RunMex.Mex3GetFileInfo".
  30. The Syntax is like this :
  31.  
  32. ------------------------------------------------
  33. Integer Mex3GetFileInfo (String PathToBMS, String PathToArchive, String ArgumentList)
  34. ------------------------------------------------
  35.  
  36. Arguments you may pass to the engine :
  37.  
  38. -l   : Log the process in a log file
  39.        (it will be saved in the App.Path as mex3.log)
  40. -lst : by default the dll will create a file called multiex.lst
  41.        that lists important variables on the archiveformat as well
  42.        as the contents of the file. See "The List File"
  43.        With the argument -lst you tell the DLL to name it differently
  44.        USAGE : "-lst newname"
  45. -pro : show a basic progress window during DLL operation
  46. -p   : Always show the Error MessageBox at the end of operation
  47.  
  48. The Return value is an integer and essentially the error code.
  49. (0 = no errors)
  50.  
  51. -------------------------------------------------
  52.  
  53. The List File
  54. -------------
  55.  
  56. Upon succesfull analysis of a gamearchive multiex.dll will
  57. present you with a file called multiex.lst by default.
  58.  
  59. The format has a header that gives :
  60.  
  61. Long    NumberOfFiles   : Number of files in the archive
  62. Long    Mex3ComType : Compressiontype of the files in the archive (if any)
  63.                           0   = none
  64.               750 = ZLibCompression1
  65. Long    Mex3ImpType     : Imporationtype that lets you know:
  66.               iStandard = 710
  67.               (both fileoffsets and filesizes are mentioned in the
  68.                archive)
  69.               iSFileOff = 711
  70.                    (only fileoffsets are mentioned)
  71.               iSFileSize = 712
  72.                    (only filesizes are mentioned)
  73.               iNone = 713
  74.               (for MultiEx Commander : no importing allowed)
  75.               iStandardTail = 714
  76.               (Standard but with a tailpointer at the beginning)
  77.  
  78. Byte    TailOffOffYes   : Is there an offset of a pointer to a tail?
  79.               0 = No
  80.               1 = Yes
  81. Long    TailOffOff  : The location of the offset of a pointer to a tail
  82.               in the archive.
  83. Byte    FileOffs_Rev    : The (long) variables depicting the Offsets of
  84.               the different files in the archive are reversed in saved
  85.               format. So An offset of 12cd3400 would be written in the
  86.               archive as 00 34 cd 12. Low Byte->High Byte switched!
  87.               0 = No
  88.               1 = Yes
  89. Byte    FileSizes_Rev   : Like above, now for the size variables for each file
  90.               in the archive
  91.          
  92. Then follows the body of information on each file in the archive
  93. (NumberOfFiles times!)
  94.  
  95. The record for a single entry looks like this:
  96.  
  97. String (preceded by VB depictor for a string)   Name of the File in the archive
  98. Long   (preceded by VB depictor for a long)     Offset of the file in the archive
  99. Long   (preceded by VB depictor for a long)     Size of the file in the archive
  100. Long   (preceded by VB depictor for a long) Offset of the Offset Variable
  101. Long   (preceded by VB depictor for a long) Offset of the Size Variable
  102. NOTE : IF THE FILES ARE COMPRESSED THE FOLLOWING IS ADDED TO THE RECORD:
  103. Long   (preceded by VB depictor for a long) The Original Size of the file
  104. Long   (preceded by VB depictor for a long) Offset of the Original Size Variable
  105.  
  106.  
  107. There, that's it! Note that you may not need all the header variables for your
  108. purpose at all. Then just ignore those values.
  109.  
  110. -------------------------------------------------
  111.  
  112. For any additional help, visit the XeNTaX MultiEx Forums at
  113.  
  114. http://forums.xentax.com
  115.  
  116. -------------------------------------------------
  117.  
  118.  


hat jemand ne ahnung, wie ich das in delphi 6 hinbekomme ??

thx im vorraus

rswm

_________________
Aktuelles Projekt :
www.PicPlace.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 04, 2003 19:47 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also eine Klasse aus einer DLL einfach mal so zu importieren ist nicht möglich. Die Klasse muss gescheit exportiert worden sein. In deinem Fall hast du aber Glück, da es sich dabei um ein ActiveX handelt.
Du hast zwei Möglichkeiten.
1. Es handelt sich dabei um eine visuelle Komponente dann kannst du im Menü 'Komponente' -> 'ActiveX importieren ...' -> 'Hinzufügen ...' Dann deine *.ocx. Der Windows Mediaplayer ist auch nur eine ActiveX komponente.

2. Es handelt sich dabei um eine Typbibliothek (sollte bei dir so sein). Dann gehst duz auf 'Projekt' -> 'Typbibliothek importieren ...' -> 'Hinzufügen ...' Du wählst dann hier deine DLL und wählst dann 'Installieren ...' oder 'Unit erstellen'. Wenn du sie installierst bekommst du eine Komponenten die in der Lage ist sich mit dem Object zu verbinden. Du kannst es dann auch darüber ansteuern. Diese Objekte sind COM Objekte. Du kannst zum Bleistifft das komplette Office über COM steuern. Allerdings handelt es sich bei den Objekten immer um NICHT sichtbare Objekte.

Hoffe das hat dir ein wenig geholfen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 04, 2003 20:09 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 28, 2002 19:27
Beiträge: 568
Wohnort: Chemnitz / Sachsen
ich danke dir erstmal, ich versuche das mal und wenn es nicht funzt, dann sag ich bescheid

trotzdem muss ich sagen, dass das in der IDE einfacher sein könnte!! und außerdem könnte die hilfe (hab stundenlang gesucht - nagut also knapp ne stunde !!!) auch etwas informativer sein.

THX

_________________
Aktuelles Projekt :
www.PicPlace.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 04, 2003 20:22 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Da hast du durchaus recht die Hilfe von Delphi ist manchen Dingen einfach nur schlecht. Aber so wie das in der IDE gelöst ist finde ich das ganz gut. Also auf ein COM Objekt mittels einer Komponente zugreifen zu können ist gar nicht mal Doof. In Visual Studio (VC++) musst du bei ActiveX Komponenten die bei jedem hinzufügen zum Fenster aus der Kompletten Liste mit allen ActiveX'n auswählen. Da gefällt mir die Lösung Delphi viel besser. :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 04, 2003 20:23 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 28, 2002 19:27
Beiträge: 568
Wohnort: Chemnitz / Sachsen
ja klar, doch ich denke mal, das geht auch einfacher !!!

_________________
Aktuelles Projekt :
www.PicPlace.de


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 15 Queries | GZIP : On ]