Forum: Sonstige Fragen zu Delphi
Delphi
by marabu,
13. Jun 2007
Hallo,
ich vermute, dass die Komponente OpenDialog1 auf einer anderen Form als Form2 zu finden ist. Falls sich OpenDialog1 auf Form1 befindet, dann musst du deinen Quellcode so abändern:
procedure TForm2.N3Click(Sender: TObject);
begin
with Form1.OpenDialog1 do
if Execute then
StrToHex(FileName, Memo.Lines);
Forum: Sonstige Fragen zu Delphi
Delphi
by marabu,
13. Jun 2007
Manchmal möchte man den OpenDialog abbrechen:
procedure TForm2.N3Click(Sender: TObject);
begin
with OpenDialog1 do
if Execute then
StrToHex(FileName, Memo.Lines);
end;
Forum: Sonstige Fragen zu Delphi
Delphi
by marabu,
13. Jun 2007
Vermutlich hast du an der Stelle, an der du den Aufruf von StrToHex() machst, keinen Zugriff auf OpenDialog1. Kannst du den Aufruf mal in seinem Kontext zeigen?
Forum: Sonstige Fragen zu Delphi
Delphi
by marabu,
13. Jun 2007
Guten Morgen.
StrToHex() ist bei dir eine unabhängige Prozedur und keine Methode der Form. Das ist auch richtig so, aber du kannst aus dieser Prozedur nicht auf Eigenschaften der Form (z.B. Memo1) zugreifen. Alle Ein- und Ausgaben deiner Prozedur sollten über entsprechende Parameter gesteuert werden.
Eine sinnvolle Signatur wäre:
procedure HexDump(const fn: TFileName; s: TStrings);
...