![]() |
Fehler in Delphi
Liste der Anhänge anzeigen (Anzahl: 2)
Hi
Und zwar wie es schon die Überschrift sagt bekomme ich Fehler in Delphi, Und das immer nur auf einer Form es hat bis vor 1 Stunde noch ganz gut funktioniert am Code habe ich auch nichts gemacht. Ich kann keine Komonenten mehr auf die Form setzen. Die Fehlermeldungen hab ich ma,l angehängt vielleicht weis einer bescheid. Gruß Sascha |
Re: Fehler in Delphi
Hast Du schon Delphi neu gestartet, Windows rebootet? Manchmal verschlucken sich Delphi und/oder Windows, dann kommen solche Fehlermeldungen.
|
Re: Fehler in Delphi
Du greifst auf eine nichtvorhandene Instanz zu
|
Re: Fehler in Delphi
Delphi habe ich neu gestartet aber Windows noch nicht.
Kann es sein das es an Vista liegt unter XP funktioniert das ganze |
Re: Fehler in Delphi
Kann vielleicht mal jemand drüberschauen ich fin den Fehler nicht ich denke das ich alles Richtig gemacht habe
Delphi-Quellcode:
unit Unit3;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls,ShellApi, ShellCtrls,commctrl, ExtCtrls, StdCtrls; type TForm3 = class(TForm) GroupBox1: TGroupBox; RadioGroup1: TRadioGroup; Button1: TButton; Button2: TButton; Panel1: TPanel; StatusBar1: TStatusBar; Panel2: TPanel; Button3: TButton; ShellTreeView1: TShellTreeView; ProgressBar1: TProgressBar; procedure RadioGroup1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure ShellTreeView1Change(Sender: TObject; Node: TTreeNode); procedure ShellTreeView1Expanding(Sender: TObject; Node: TTreeNode; var AllowExpansion: Boolean); procedure FormResize(Sender: TObject); procedure FormShow(Sender: TObject); procedure ShellTreeView1Click(Sender: TObject); private sPfadangabe : string; { Private-Deklarationen } public { Public-Deklarationen } end; type TShellTv= class(TShellTreeView); var Form3: TForm3; implementation uses Unit1, Unit7; {$R *.dfm} //===================Dateien Kopieren=========================================== function CopyFiles (const fromDir, toDir: string): Boolean; var fos: TSHFileOpStruct; begin ZeroMemory(@fos, SizeOf(fos)); with fos do begin wFunc := FO_COPY; wnd := Application.Handle; // fFlags := FOF_FILESONLY; fFlags := 0; fFlags := 0; fFlags := FOF_NOCONFIRMATION; // keine bestätigung zum überschreiben pFrom := PChar(fromDir + #0); pTo := PChar(toDir) end; Result := (0 = ShFileOperation(fos)); end; //===================Daten Export=============================================== procedure TForm3.Button1Click(Sender: TObject); begin try if not FileExists (sPfadangabe + 'USB_Mobil') then begin ForceDirectories(sPfadangabe + 'USB_Mobil'); CopyFiles (Form1.ServerPfad + 'Local\*.*',sPfadangabe + 'Vertretungsplan_Mobil'); end; except Form1.MessageDlgPos2('Fehler, bitte überprüfen Sie Ihre Eingaben', mtWarning,[mbOk], self); end; end; //=================Daten import================================================= procedure TForm3.Button2Click(Sender: TObject); begin try if not directoryExists (sPfadangabe + 'USB_Mobil') then begin Form1.MessageDlgPos2('Es existieren in dem Verzeichnis keine Dateien zum Impotieren', mtInformation,[mbOk], self); end else begin CopyFiles (sPfadangabe + 'USB_Mobil\*.*',Form1.ServerPfad + 'Local\'); end; except Form1.MessageDlgPos2('Fehler, bitte überprüfen Sie Ihre Eingaben', mtWarning,[mbOk], self); end; Form7.ShellTreeView1.Refresh(Form7.ShellTreeView1.Items[0]); end; //==========================schließen========================================== procedure TForm3.Button3Click(Sender: TObject); begin ShellTreeView1.Refresh(ShellTreeView1.Items[0]); close; end; procedure TForm3.FormResize(Sender: TObject); var PanelRect: TRect; begin // Progressbar in die Statusbar setzen (0 für das erste Panel, 1 für das zweite usw.) SendMessage(StatusBar1.Handle, SB_GETRECT, 2, Integer(@PanelRect)); // Position the progressbar over the panel on the statusbar with PanelRect do ProgressBar1.SetBounds(Left, Top, Right-Left, Bottom-Top); end; procedure TForm3.FormShow(Sender: TObject); begin Form3.Top:= Form7.Top + 200; Form3.Left:= Form7.left + 200; ProgressBar1.Parent := StatusBar1; ShellTreeView1.Refresh(ShellTreeView1.Items[0]); TShellTv(Self.ShellTreeView1).ReadOnly:= true; end; //===auswahl Import und Export================================================== procedure TForm3.RadioGroup1Click(Sender: TObject); begin case RadioGroup1.ItemIndex of 0:begin Button2.Visible:= True; // Import Button1.Visible:= False; StatusBar1.Panels[0].Text:= 'Von: '+ sPfadangabe; StatusBar1.Panels[1].Text:= 'Nach: Local_Server'; end; 1:begin Button1.Visible:= True; // Export Button2.Visible:= False; StatusBar1.Panels[0].Text:= 'Von: Local_Server'; StatusBar1.Panels[1].Text:= 'Nach: ' + sPfadangabe; end; end; end; procedure TForm3.ShellTreeView1Change(Sender: TObject; Node: TTreeNode); begin sPfadangabe:= ShellTreeView1.Path; if Radiogroup1.ItemIndex = 0 then begin StatusBar1.Panels[0].Text:= 'Von: '+ sPfadangabe; end; if Radiogroup1.ItemIndex = 1 then begin StatusBar1.Panels[1].Text:= 'Nach: ' + sPfadangabe; end; end; //===========================Refrsh bei klick================================== procedure TForm3.ShellTreeView1Click(Sender: TObject); begin ShellTreeView1.Refresh(ShellTreeView1.Items[0]); end; //====================nur bis USB Zulassen====================================== procedure TForm3.ShellTreeView1Expanding(Sender: TObject; Node: TTreeNode; var AllowExpansion: Boolean); Var i: integer; begin for i := 0 to TShellTreeView(Sender).Items.Count - 1 do if TShellTreeView(Sender).Items.Item[i]= Node then if TShellTreeView(Sender).Folders[i].PathName= (Form1.ServerPfad + sPfadangabe + ExtractFileName(ShellTreeView1.Path)) then exit; AllowExpansion:= Node= TShellTreeView(Sender).Items.Item[0]; end; end. |
Re: Fehler in Delphi
Ich bins nochmal, ich will echt net nerven aber hat irgenjeman ne Ahnung.
Ich kann an dieser Form nichts mehr machen? Bitte |
Re: Fehler in Delphi
Mir sind so auf Anhieb 2 Dinge aufgefallen:
1. direkte Verweise auf eine bestimmte Instanzen von andere Formularen 2. eine globale Variable, die zu Beginn keinen Wert hat (sPfadAngabe) |
Re: Fehler in Delphi
Meinst du das ich auf die form1 verweise (schlimm)?
Und ist das so schlimm das die Variable zu beginn kein Wert hat?? |
Re: Fehler in Delphi
Zitat:
Zitat:
|
Re: Fehler in Delphi
Aber wie gesagt ich kann das Programm ohne Probleme Compalieren und habe sonnst auch keine Fehler.
Nur wenn ich eine neue Komopnente auf die Form legen will z.B. Label bekomme ich die Fehler. |
Re: Fehler in Delphi
Vista als Noma-User und Dlephi hatte bei mir irgendwie auch Probleme...
Probier doch mal "Eigenschaften (-der Exe) > Kompatibilität > Haken bei Kompatibilitätsmodus UND Ausführen als Administrator" Kann ja sein, dass es daran liegt, wenn du sagst, dass das selbe Projekt auf XP funktioniert. Edit: Also ich seh grad dass es umm Delphi 2007 geht!? Da würde ich davon ausgehen, dass ein Kompatibilitätsmodus nichts bringt, aber vllt. das Ausführen als Administrator. |
Re: Fehler in Delphi
Ich habe unter Vista die Benuzerkontosteuerung ausgeschaltet weil mein Programm sonst nicht funzt (schande über mich)
Das ist echt blöd ich kann nichts mehr machen. Habe ich vielleich sonst noch einen Fehler oder so?? Ich bin echt am verzweifeln hab langsam kein Bock mehr. |
Re: Fehler in Delphi
Hi
Ich wollte nur nochmal fragen ob jemand auch dieses Problem hat ich habe mittlerweile festgestellt, das das ganze unter XP auch so ist mit dem Fehler. Ich habe gestern zwei neue Formen erstellt und konnte damit auch ganz normal arbeiten. Nur heute wollte ich weiter machen und ich kann wieder keine Komponenten auf die Form setzen, bekomm immernoch den selben Fehler. Bei meinen älteren Formen geht das ohne Probleme Gruß Sascha |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:51 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