![]() |
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:
D
procedure TMain.saveClick(Sender: TObject);
begin if savedialog.Execute then name:=savedialog.FileName else exit; speichern(liste,name); end; 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] |
Name ist gleichzeitig der Bezeichner des Forms. Du solltest die Variable in z.B. FileName umbenennen.
...:cat:... |
Hi,
der Fehler ist eigentlich ziemlich einfach...
Delphi-Quellcode:
Wenn deine Variable name heißt, dann solltest du das ändern.
name := OD1.FileName;
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) |
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. :? |
Chakotay1308 hat recht, habe den variblen "name" geändert, jetzt zeigt es keinen Fehler mehr.
Gibt's aber andere Fehler :spin: Trotzdem danke |
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??!! |
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