Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Fehler beim Speichern mit Savedialog (https://www.delphipraxis.net/4860-fehler-beim-speichern-mit-savedialog.html)

Hani 14. Mai 2003 19:45


Fehler beim Speichern mit Savedialog
 
Hallo Leute,
Ich habe zur Zeit im Unterricht mit ADT zu tun. ADT ist hier aber unwichtig, hat mindest mit meinem problem nichts zu tun, glaube ich. Hat's bis jetzt ganz gut geklappt bis auf das Speichern.

Also beim Speichern wird dieser Prozedure aufgerufen:
Delphi-Quellcode:
 procedure TMain.saveClick(Sender: TObject);
 begin
 if savedialog.Execute then name:=savedialog.FileName
                      else exit;
 speichern(liste,name);
 end;
D
Eigentlich ist ja kein Fehler da, aber jedesmal gibt's diese Fehlermeldung:
" Im Projekt ADT.exe ist eine Exception der Klasse EcomponentError aufgetreten. Meldung:"C:\\Programme....\file.dat" ist kein gültiger Komponentenname'."

Ich weiß nicht, was daran ungültig sein soll?!
Also wäre ganz nett, wenn jemand mir helfen kann.

Danke

[edit=Luckie]Bitte benutz beim nächten mal die Code-Tags. Danke[/edit]

sakura 14. Mai 2003 19:48

Name ist gleichzeitig der Bezeichner des Forms. Du solltest die Variable in z.B. FileName umbenennen.

...:cat:...

CalganX 14. Mai 2003 19:50

Hi,
der Fehler ist eigentlich ziemlich einfach...
Delphi-Quellcode:
name := OD1.FileName;
Wenn deine Variable name heißt, dann solltest du das ändern.
Grund: du weißt name zu, in einer Funktion, die einer Klasse (hier TMain) gehört. Der Kompiler denkt sich, dass du dich mit name auf TMain.name beziehst.

Chris

PS: Ist übrigens der gleich Grund, warum du einfach mit OpenDialog1 auf deinen Dialog, der eine Instanz des Forms ist, zugreifen kannst... (Sonst müsstest du z.B. Main1.OpenDialog1 machen)

Luckie 14. Mai 2003 19:50

Die Prozedur ist in Ordnung. Der Fehler muß wo anders liegen. Ich tippe jetzt mal so ins blaue, dass du die Paramezet von der Prozedur speichern() vertauscht hast.

Nachtrag:
Ich seh' schon meine Glaskugel hat wieder mal versagt und die Garantie ist abgelaufen. :?

Hani 15. Mai 2003 09:34

Chakotay1308 hat recht, habe den variblen "name" geändert, jetzt zeigt es keinen Fehler mehr.
Gibt's aber andere Fehler :spin:
Trotzdem danke

Hani 15. Mai 2003 18:09

Da wir schon mal dabei sind, habe noch paar Fragen auf Lager.
In meinem Programm habe ich viel mit Zeiger-typ zu tun. Was komisch daran ist nur, dass wenn ich nur das programm starte und dann gleich schließen wollte, zeigt er wieder diese Fehlermeldung "Ungültige Zeigeroperation", obwohl noch gar kein Prozedure ausgeführt wurde??!!!
Hat jemand vielleicht ahnung??!!

Luckie 15. Mai 2003 18:24

Auch für Hani's gilt: Neue Frage, neuer Thread. Danke.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:23 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