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 1 von 2  1 2      
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.660 Beiträge
 
Delphi 12 Athens
 
#1

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

  Alt 14. Aug 2012, 13:53
Aber das entsprechende Headerfile kannst Du weitergeben? Oder war da gleich die Schnittstellenunit dabei (es sieht ja nicht danach aus)?
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
 
#2

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

  Alt 14. Aug 2012, 14:08
Aber das entsprechende Headerfile kannst Du weitergeben? Oder war da gleich die Schnittstellenunit dabei (es sieht ja nicht danach aus)?
Es ist halt sehr unsicher was er da macht.
Er sollte mal prüfen ob stdcall überhaupt für diese DLL in frage kommt.
Selbst dann wenn die Rückgaben stimmen muss es nicht zwangsläufig korrekt sein.

Calling Conventions (Cdecl, and StdCall) (C/C++)

gruss
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.660 Beiträge
 
Delphi 12 Athens
 
#3

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

  Alt 14. Aug 2012, 14:11
Da gibt es Einiges, was mir komisch vorkommt, daher ja meine Frage, ich habe keine Lust zu raten
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
 
#4

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

  Alt 14. Aug 2012, 14:13
Aber das entsprechende Headerfile kannst Du weitergeben? Oder war da gleich die Schnittstellenunit dabei (es sieht ja nicht danach aus)?
Wie gesagt, ich habe leider keinen Quellcode/Headerdatei zur dll, sondern nur die dll ansich und eine Doku dazu.

Die Doku sagt folgendes für den Pointer, der an die Funktion COM_RbsManipulationReq übergeben wird:
Code:
typedef void *  COM_Handle
  Defines a handle to a PC->Hardware communication object.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.660 Beiträge
 
Delphi 12 Athens
 
#5

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

  Alt 14. Aug 2012, 14:15
Und was sagt die Doku zu den Funktionen?
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
 
#6

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

  Alt 14. Aug 2012, 14:19
Und was sagt die Doku zu den Funktionen?
Bei der Funktion, die anscheinend das Problem macht, sagt sie folgendes:
Code:
EXPORTDLL COM_RETURN EBEL_API COM_RbsManipulationReq ( COM_Handle handle,
  COM_RbsManipulation manipulation
 )  

Sets a RBS manipulation.

Parameters:
handle Pointer to a handle representing the interface instance.
manipulation contains the RBS manipulation settings.

Returns:
COM_RETURN_OK Function executed successfully.
COM_RETURN_InvalidHandle The handle is not a valid PC HW interface handle.
COM_RETURN_Timeout The hardware is not responding.
else Error code of the called function in the hardware.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

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
 
#8

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
 
#9

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

  Alt 14. Aug 2012, 14:18
Das komplette Programm ist bis heute Morgen (mit anderem, umfangreicherem Record "Manipulationtag") gelaufen.

Eine andere Firmware auf der manipulationsbox erfordert aber ein abgespecktes Record, da die hardware sonst abstürzt (Funktion überladen).

Ich habe außer dem kürzen des Records also nichts am Quellcode geändert. Seitdem kommt die accessviolation. Wenn ich das Record wieder um die herausgelöschten Felder erweitere, kommt der Fehler nicht mehr.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.660 Beiträge
 
Delphi 12 Athens
 
#10

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
Antwort Antwort
Seite 1 von 2  1 2      


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 18:18 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