![]() |
Mit "try" an EXE geschriebene Daten auslesen
Hi.
Ich habe mit der Funktion: ![]() Daten an eine konpilierte exe geschrieben. Das Funktioniert auch soweit, nur ich habe das auslesen der Daten in FormCreate gesetzt. Und manchmal sind eben noch keine Daten eingefügt. In diesem Fall kommt ein Error das der Speicher icht expandiert werden konnte. Jetzt habe ich das ganze ein wenig umbegaut:
Delphi-Quellcode:
Es sollte also nur versucht werden die Daten auszulesen, da es ansonsten ja zu dem Fehler kommt.
procedure TForm1.FormCreate(Sender: TObject);
var aStream: TMemoryStream; begin try begin aStream := TMemoryStream.Create; LoadFromFile(Application.ExeName, aStream); Memo1.Lines.LoadFromStream(aStream); end finally aStream.Free; end; end; Allerdings Funktioniert das auch nicht. Weiß jemand wie ich den Fehler abfangen könnte? thx 4 help |
Re: Mit "try" an EXE geschriebene Daten auslesen
|
Re: Mit "try" an EXE geschriebene Daten auslesen
Das habe ich in meinem Code doch oder? :s
Es will aber trotzdem nicht... |
Re: Mit "try" an EXE geschriebene Daten auslesen
Try finally bedeutet, dass alles nach finally auf jeden Fall ausgeführt wird.
Es fängt aber nicht den Fehler ab... Try except ist für Dich besser geeignet, da nach except alles kommt was nach nem Fehler passieren soll! Gibt es hier aber bestimmt etliche Beispiele... |
Re: Mit "try" an EXE geschriebene Daten auslesen
der fehler wird angezeigt, wenn du in der ide die exe ausführst. schliesst du delphi, und führst es so aus, kommt kein fehler
|
Re: Mit "try" an EXE geschriebene Daten auslesen
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var Stream: TMemoryStream; begin Stream := TMemoryStream.Create; try try LoadFromFile(Application.ExeName, Stream); Stream.Position := 0; Memo1.Lines.LoadFromStream(Stream); except // Hier wird der Fehler abgefangen. Und du kannst diesen nach // deinen eigenen Wünschen anzeigen lassen on E: Exception do Application.MessageBox(PChar(E.Message), nil, MB_OK or MB_ICONEXCLAMATION); end; finally Stream.Free; end; end; |
Re: Mit "try" an EXE geschriebene Daten auslesen
Irgendwie fehlt bei dem Original-Posting ein
Delphi-Quellcode:
Denn wenn man bei 0 beginnt, liest er die EXE samt Binärcode in das Memo.
Stream.Position := x;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 Uhr. |
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