AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Fehler "access violation" - keine Ahnung, warum...
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler "access violation" - keine Ahnung, warum...

Ein Thema von Pow3rus3r · begonnen am 14. Aug 2012 · letzter Beitrag vom 16. Aug 2012
Antwort Antwort
Seite 4 von 4   « Erste     234   
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#31

AW: Fehler "access violation" - keine Ahnung, warum...

  Alt 14. Aug 2012, 14:20
Das hättest Du aber auch ein bisschen früher sagen können. Habe ich die Situation richtig verstanden:
- größerer Record -> Programm läuft, Hardware stürzt ab
- kleinerer Record -> Programm stürzt ab
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#32

AW: Fehler "access violation" - keine Ahnung, warum...

  Alt 14. Aug 2012, 14:22
Dann erstelle zwei records und vergleiche auf die Firmware ..

Einen Record in der reihenfolge zu ändern bzw.. zu kürzen ist keine gute Idee
Mach das mal bei meiner DLL dann geht auch nichts mehr.
Ist aber auch logisch oder?

Das hat mich auch gewundert "NativeUInt" = HRESULT in C++

Delphi-Quellcode:
if COM_TcpOpen(zeiger, ipAddress, port) = S_OK then
begin
  ...
end
aber jeder so wie er will.

EDIT:

Sorry: Diese art der Programmierung ist auch unverständlich.

Delphi-Quellcode:
procedure TForm1.btnstartmanipulationClick(Sender: TObject);
   begin
     return := COM_RbsManipulationReq(zeiger, tagmanipulation);
     return := COM_StartRbsManipulationReq(zeiger);
   end;
Du definierst eine Variable return und tust nichts damit
Irgendwo seltsam das ganze.

gruss

Geändert von EWeiss (14. Aug 2012 um 14:58 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#33

AW: Fehler "access violation" - keine Ahnung, warum...

  Alt 15. Aug 2012, 15:28
Zunächst einmal scheint hier ein Mißverständnis über Zeiger/Pointer vor zu liegen.
Ein Zeiger/Pointer enthält NIL oder eine Adresse, die auf einen Speicherbereich zeigt. Der Wert, den der Zeiger enthält, ist vollkommen uninteressant. Von Interesse ist nur der Speicherbereich auf den der Zeiger zeigt. Wenn hier ein paarmal vom Inhalt des Zeigers die Rede war hoffe ich, daß dies eine sprachliche Ungenauigkeit war.
Wie DeddyH schon ausgeführt hat ist
Delphi-Quellcode:

zeiger : pointer;

...

new(zeiger);
vornehm ausgedrückt, Blödsinn. new(zeiger); ist nur dann sinnvoll, wenn zeiger als Pointer auf irgendetwas definiert ist. z.B.
Delphi-Quellcode:
tmyrec=record
         wert:integer;
         nix :byte;
       end;
 
zeiger:^tmyrec;
pint :înteger;

...

new(zeiger);
new(pint);
Dann beginnt die Record Definition mit zwei Byte-Werten.
Das könnte nach einem packed record verlangen, muß aber nicht. Wäre u.U. aber auch eine Erklärung für das Verhalten.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Pow3rus3r

Registriert seit: 17. Apr 2012
43 Beiträge
 
Delphi XE Professional
 
#34

AW: Fehler "access violation" - keine Ahnung, warum...

  Alt 16. Aug 2012, 07:34
Das hättest Du aber auch ein bisschen früher sagen können. Habe ich die Situation richtig verstanden:
- größerer Record -> Programm läuft, Hardware stürzt ab
- kleinerer Record -> Programm stürzt ab
So ist es. Bei dem zu großen (ehemals korrekten) Record bekomme ich ein Hardwaretimout als Returnwert und das Programm bringt keinen Fehler.

Bei dem kleineren Record funktioniert die Werteübergabe an die Hardware (und die Hardware setzt den Befehl korrekt um), aber mein Delphi Programm bringt den Fehler.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#35

AW: Fehler "access violation" - keine Ahnung, warum...

  Alt 16. Aug 2012, 07:40
Man könnte da jetzt wild herumwuseln (das Schlüsselwort absolute kommt mir da in den Sinn). Aber an Deiner Stelle würde ich zunächst beim Hersteller nachfragen, ob es eine an die neue Firmware angepasste DLL gibt. Anschließend die Firmware-Version erfragen und je nachdem die eine oder andere DLL laden und mit dem passenden Record ansprechen. Das scheint mir noch das Einfachste zu sein.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Pow3rus3r

Registriert seit: 17. Apr 2012
43 Beiträge
 
Delphi XE Professional
 
#36

AW: Fehler "access violation" - keine Ahnung, warum...

  Alt 16. Aug 2012, 09:42
Man könnte da jetzt wild herumwuseln (das Schlüsselwort absolute kommt mir da in den Sinn). Aber an Deiner Stelle würde ich zunächst beim Hersteller nachfragen, ob es eine an die neue Firmware angepasste DLL gibt. Anschließend die Firmware-Version erfragen und je nachdem die eine oder andere DLL laden und mit dem passenden Record ansprechen. Das scheint mir noch das Einfachste zu sein.
Die Anfrage hatte ich gestern schon rausgeschickt. Gerade kam eine Antwort. Die DLL hat sich geändert, natürlich mit anderem Prozedureinsprungspunkt (_COM_RbsManipulationReq@52 statt _COM_RbsManipulationReq@112).

Nun kommt kein Fehler mehr!

Da wäre ich im Leben nicht drauf gekommen. Danke für eure Hilfe! Ihr seid echt mal fit in Delphi!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.157 Beiträge
 
Delphi 12 Athens
 
#37

AW: Fehler "access violation" - keine Ahnung, warum...

  Alt 16. Aug 2012, 10:23
In C-Sprachen und in den Delphi-BPLs wird im Exportnamen von Funktionen/Prozeduren auch gerne mal die Parameterdeklaration mit aufgenommen.
Bei Delphi-DLLs (wenn man nicht explizit ws nderes angibt) und bei vielen WinAPIs enspricht aber der Exportname dem Prozedurnamen.

Zitat:
Da wäre ich im Leben nicht drauf gekommen
Wie importierst du denn die Prozedur?

Da hätte es doch schon auffallen sollen, daß die Prozedur, unter dem alten Namen, nicht gefunden wird.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:54 Uhr.
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