Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi HexEditor (https://www.delphipraxis.net/151189-hexeditor.html)

Jazzman_Marburg 8. Mai 2010 18:14


HexEditor
 
Werte Gemeinde!

Ich bin dabei eine kleine Anwendung zu schreiben, die Files nach bestimmten Kriterien untersuchen soll. Dazu würde ich dem User gern auch einen HexEditor zur Verfügung stellen. Nun ist mir auf Koders.com die freie Unit Hexeditor aufgefallen.
Hat jemand damit schon Erfahrung sammeln können?
Ich frage deshalb, weil ich die Unit nicht compilieren kann, weil der Compiler bei der Stelle:

Delphi-Quellcode:
ctEBCDICToISO : array [0..255] of Char = (
                          #0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,
                          #0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,
                          #0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,
                          #0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,
                          ' ',#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,#0 ,'.','<','(','+','',  // hier!
folgendes auswirft:

Delphi-Quellcode:
E2010 Inkompatible Typen: 'Char' und 'String'
Und das an einigen ähnlichen Stellen. (Ich frage mich, ob ich die Unit vielleicht im falschen Format gespeichert habe...)

Meine zweite Frage wäre dann, wie man das Ding zum Fliegen bringt -- leider kein Beispiel (oder ich habe es nicht gesehen) dabei.

Vielleicht hat das Ding ja schon jemand eingesetzt -- oder kennt einen besseren freien HexEditor (mit Source, nicht als Component, da ich nur TurboDelphi habe).

Vielen Dank & schönen Gruß
Jazzman

jaenicke 8. Mai 2010 18:24

Re: HexEditor
 
Der Fehler ist klar: An der Stelle steht ein leerer String. Ein Char wird aber erwartet, und ein Buchstabe kann entweder ein einbuchstabiger String sein oder ein Zeichen direkt (#). Aber eben kein String ohne Buchstabe. ;-)

Heißt: Einfach nen Leerzeichen rein und schon sollte es kompilieren. Ob das an der Stelle richtig ist, ist ne andere Frage. :mrgreen:

Jazzman_Marburg 8. Mai 2010 19:58

Re: HexEditor
 
:-D Super!

Das hat schon geholfen -- beim Download oder Speichern müssen da wohl ein paar Blanks flöten gegangen sein.

Vielen Dank!
Jazzman

hathor 8. Mai 2010 22:06

Re: HexEditor
 
Hier ist ein Programm, in dem diese Unit verwendet wird:
http://downloads.sourceforge.net/resbuilder/RB.zip

Jazzman_Marburg 9. Mai 2010 12:39

Re: HexEditor
 
Zitat:

Zitat von hathor
Hier ist ein Programm, in dem diese Unit verwendet wird:
http://downloads.sourceforge.net/resbuilder/RB.zip

Puuuh :shock:
Vielen Dank für den Hinweis -- aber geht es wohl auch eine Nummer kleiner? Auf ein Anwendungsbeispiel hatte ich tatsächlich gehofft -- aber bei diesen Beispiel brauche ich wohl Tage um zu verstehen, wie man den HexEditor im eigenen Programm verwendet.

Hat denn niemand bisher den HexEditor von Markus Stephany zum Laufen gebracht? Mein Problem ist, dass ich mit TurboDelphi keine Komponenten intsallieren kann -- ich aber die Sorucen von Markus Stephany heruntergeladen habe, und nun überfordert bin, den HexEditor in dieser Form zum Laufen zu bekommen. (Der Autor aber keine Fragen zu diesem Projekt wünscht.)

Wenn sich da vielleicht noch jemand fände, der mir die Bretter vor den Augen entfernt?

Auf der genannten Seite findest sich sogar ein Beispiel für einen HexViewer (genau das was ich suche) -- aber da wird auch auf die TMPHexEditorEx Komponente zugegriffen -- die ich ja so nicht gebrauchen kann.

In der Hoffnung, es findet sich noch ein Experte diesbezüglich
grüßt
Jazzman

DeddyH 9. Mai 2010 12:40

Re: HexEditor
 
Kannst Du die Komponente denn nicht einfach zur Laufzeit auf Dein Form klatschen?

Jazzman_Marburg 9. Mai 2010 12:49

Re: HexEditor
 
Zitat:

Zitat von DeddyH
Kannst Du die Komponente denn nicht einfach zur Laufzeit auf Dein Form klatschen?

:gruebel: Ähmm...
das verstehe ich nicht:
a) Komponenten klatsche ich doch nur zur Designzeit auf die Form, oder?!
b) Komponente ist grundsätzlich schlecht bei TurboDelphi, da nicht möglich.

Oder habe ich Deinen Hinweis missverstanden?


Danke & Gruß, Jazz

DeddyH 9. Mai 2010 12:50

Re: HexEditor
 
Natürlich ist das möglich, nur eben nicht zur Designtime. Es hält Dich aber niemand davon ab, die entsprechende Unit einzubinden und die Komponente zur Laufzeit dynamisch zu erzeugen.

Jazzman_Marburg 9. Mai 2010 13:02

Re: HexEditor
 
Hmmm,
also ich habe die beiden Units eingebunden:

Delphi-Quellcode:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, MPHexEditor, MPHexEditorex;

...
VAR
  MyEditor1 := TMPHexEditorEx;
Beim OnCreate meiner Anwendung steht dann:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  MyEditor1.Create(Self);
end;
Nach einem F9 kommt aber die Exception:

Delphi-Quellcode:
EAccessViolation "Zugriffsverletzung bei Adresse...
Dachtest Du an so etwas?
Sehr verwirrend das.

Jazzman

DeddyH 9. Mai 2010 13:03

Re: HexEditor
 
Zitat:

Delphi-Quellcode:
MyEditor1.Create(Self);

Das sollte wohl eher
Delphi-Quellcode:
MyEditor1 := TMPHexEditorEx.Create(Self);
heißen ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:06 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz