![]() |
Re: Bitte CODE prüfen - bekomme Immer eine Zugriffsverletzun
Hallo,
liefert die Funktion tsrGetSpeakers wirklich alle Informationen oder füllt sie das übergebene Array nur mit IDs? Die Beschreibung der Schnittstelle in ![]() Gruß Hawkeye |
Re: Bitte CODE prüfen - bekomme Immer eine Zugriffsverletzun
Danke für den Link, ich glaube genau das problem habe ich auch!
kann es vielleicht auch daran liegen wie dort geschireben wurde? Zitat:
Ich werde diese Lösung zumindest erstmal mit einbeziehen und dann weiter testen und natürlich die TSRemote.dll die dort zur verfügung steht nutzen! Zur zeit läuft das programm mal wieder seit mehr als 20 mins stabil ohne fehler!? :gruebel: |
Re: Bitte CODE prüfen - bekomme Immer eine Zugriffsverletzun
Delphi-Quellcode:
Ich vermute die Fehlerursache ist bei der Verwendung von PChar zu suchen.
type Player_ = record
ID : integer; Name : string; end; var Player : array of player_; function DoGetSpeakers : pchar; {...} result := pchar(player[u].Name); Dynamische Arrays können unter Umständen im Speicher verschoben werden, insbesondere wenn sich die Anzahl der Elemente vergrößert. Den Rückgabewert unbedingt auf String ändern. Prüfen, wo es noch ähnlichen Schwachstellen gibt. Zugriffsverletzungen treten leider nicht immer dort auf, wo diese verursacht werden. |
Re: Bitte CODE prüfen - bekomme Immer eine Zugriffsverletzun
Das problem liegt darin, dass ich den rueckgabewert leider nicht aendern kann, da die funktion in der TSRemote.dll liegt, auf die iach keinen einfluss habe... oder gibt es noch eine andere moeglichkeit?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:08 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