Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi EInvalidPointer ohne Sinn? (https://www.delphipraxis.net/94846-einvalidpointer-ohne-sinn.html)

WIng2005 27. Jun 2007 07:10


EInvalidPointer ohne Sinn?
 
Hallo Gemeinde,

ich bin am Verzweifeln:
Wenn ich auf meiner Form einem Edit-Feld (und nur diesem Einen) ein OnKeyDown-Ereignis zuweise, muß
ich zusätzlich ein OnChange-Ereignis einfügen, sonst wird ein EInvalidPointer-Ereignis ausgelöst.
Auch kann ich die ensprechende Stelle im Code nicht definieren, da diese, sobald ich den Code auskommentiere
an anderer Stelle (manchmal auch an de auskommentierten) auftritt. Einzige Lösung bisher: Einfügen des Überflüssigen OnChange-Ereignisses und eine sinnlose Wertzuweisung in diesem.
Da ich nicht sicher bin, welche weiteren Infos Ihr benötigt,
reiche ich Code dann entsprechend nach...

MFG
Steffen

mkinzler 27. Jun 2007 07:14

Re: EInvalidPointer ohne Sinn?
 
Hänge mal das Projekt an.

SirThornberry 27. Jun 2007 07:22

Re: EInvalidPointer ohne Sinn?
 
bei einem leeren Projekt? Das kann ich mir nicht vorstellen. Ich tippe eher das du irgendwo im Speicher drüber schreibst

WIng2005 27. Jun 2007 07:53

Re: EInvalidPointer ohne Sinn?
 
Projekt anhängen funzt net-> zu groß sowie DB-Einbindung.
Hier mal die Zuweisungen:

Delphi-Quellcode:
procedure TMainForm.EKL_EntnChange(Sender: TObject);
var x : string;
begin
  Table1.Filtered:=false;
  x:=EKL_Entn.Text+'*';
  if EKL_Entn.Text='' then Table1.Filter:=''
                      else Table1.Filter:='TS05='+chr(39)+x+chr(39);
  Table1.Filtered:=true;
end;


procedure TMainForm.EKL_EntnKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var s:string;
begin
Str(Key,s);
if s='13' then PKom_Lager_vergleich(sender)

end;

Sobal ich die EKL_EntnChange entferne, kommt hier:
Delphi-Quellcode:
if typ='admin' then
     Begin;
     try
     mainform.Panel_SQL.Visible:=true;
     except
     end;
     end;
die Fehlermeldung.
Selbst wenn ich "//mainform.Panel_SQL.Visible:=true;" draus mache...

MFG
Steffen

WIng2005 27. Jun 2007 08:00

Re: EInvalidPointer ohne Sinn?
 
Es könnte auch :
Delphi-Quellcode:
procedure TMainForm.EKL_EntnChange(Sender: TObject);
var x : string;
begin
 x:='2';
end;
sein.... nur entfernen darf ich es nicht....

MFG
Steffen

SirThornberry 27. Jun 2007 08:00

Re: EInvalidPointer ohne Sinn?
 
an dem quelltext ist eigentlich alles ok. wie bereits erwähnt vermute ich das es ein folgefehler ist weil du irgendwo anders über den speicher hinaus schreibst.

Nutze nächstes mal bitte die http://www.delphipraxis.net/template.../icon_edit.gif Funktion

WIng2005 27. Jun 2007 08:04

Re: EInvalidPointer ohne Sinn?
 
klar mach ich..

Wie kann man denn Über den Speicher hinaus schreiben?
Ist mir völlig neu.Kurrios ist, dass es nur dann nicht funktioniert, wenn ich Quelltext entferne.
Würde ich zusätzlichen einfügen, wäre es für mich plausiebel, aber so...

MFG
Steffen

SirThornberry 27. Jun 2007 08:09

Re: EInvalidPointer ohne Sinn?
 
über speicher hinaus schreiben kannst du in dem du über Arraygrenzen hinaus schreibst, eine Objectinstanz zu einem falschen Typ castest und Properties/Membervariablen schreibst etc.

Und ob du etwas an Quelltext hinzfügst oder wegnimmst dürfte von der Wahrscheinlichkeit her gleich hoch sein in Bezug auf Fehler verursachen weil dadurch im Speicher einiges verschoben wird (und an anderen Stellen liegt) und dir dadurch als Folge dann deine Fehler von wo anders auffallen.

du könntest mal mit Debug-DCU's kompilieren und schauen an welcher Stelle es knallt (und entsprechenden den Callstack anschauen um das ganze nach zuvollziehen)

WIng2005 27. Jun 2007 08:19

Re: EInvalidPointer ohne Sinn?
 
Könntest du "Debug-Dcu´s" mal bitte genauer erläutern? Bin da nicht wirklich firm... man lernt ja nie aus.
MFG
Steffen


EDIT: Wenn ich nur die Eigenschaft entferne, den Code jedoch lasse, stürzt er auch ab.

SirThornberry 27. Jun 2007 08:37

Re: EInvalidPointer ohne Sinn?
 
"use Debug DCUs" ist eine Option in den Projektoptionen. Wenn dies aktiviert ist wird auch in die Standardunits gesprungen welche nicht dem Projekt hinzugefügt sind (controls, classes, graphics etc.).


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:07 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz