INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

c-dll,strcpy und fehler 1097



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

17.01.2011, 13:10
Beitrag #1

Digitabulum Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Jan 2011

9.0
2010
de


Deutschland
c-dll,strcpy und fehler 1097
Hallo zusammen,

ich beschäftige mich zur Zeit in meiner Bachelorarbeit mit der Ansteuerung eines Detektors und habe nun schon ein wenig Erfahrung mit C und Labview sammeln können. Auch die Einbindung ist mir schon geglückt, aber hier ein wenig zu den Einzelheiten:

Ich besitzte die DLL sowie einen Beispiel C-Code des Systems, woraus ich eine zusätzliche Wrapper DLL gebaut habe, um nicht jeden einzelne Funktion aufrufen zu müssen. Das Beispielprogramm hat zusätzlich noch Callbackfuntionen, die ich auch schon in die Wrapper DLL erfolgreich eingebunden habe.
Die Bildgebung funktioniert dabei folgendermaßen: Es wird ein Offset_Bild gemacht. Die Daten werden in einen Buffer geschrieben auf den ein Zeiger weißt. Vorher findet eine Speicherresevierung mit einem malloc Befehl statt. Im weiteren Verlauf wird dann ein normales, korrigiertes Bild gemacht, wobei mit einem Pointer auf den Buffer gezeigt wird. Das ganze funktioniert auch einwandfrei.

Zum Abschluss soll dann das ganze in einem speziellen Dateiformat gespeichert werden. Im C-Code habe ich bereits alle Information für den Header etc fertig, nur bekomme ich dabei einen Fehler 1097. Also irgendwo herrschen Speicherkollisionen.
Um herauszufinden wo die Speicherkollision liegt, habe ich viele Teile auskommentiert, einfach getestet und bin bei dem Befehl hängen geblieben:

strcpy(szFileName, "Offset.his");
pFile = fopen(szFileName, "wb");
if (pFile)
{
//Headerinfos, zeiger auf buffer etc
}

Ich würde auch gerne mehr von dem Quellcode zur verfügung stellen, aber ich weiß nicht wie viel ich davon öffentlich machen kann und möchte deshalb kein Risiko eingehen.

Meine frage ist nun:
Wie kann ich diese Speicherkollision umgehen?
Oder kann ich unter Labview eine Datei mit gewünschten Headerinformationen wegspeichern, wenn ich als Input die Buffer mit angebe?


Vorweg schon einmal vielen Dank für das Lesen meines Probelems.
Ich hoffe ihr könnte mir dabei helfen.

Viele Grüße
Digitabulum
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
17.01.2011, 20:15 (Dieser Beitrag wurde zuletzt bearbeitet: 17.01.2011 20:17 von rolfk.)
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
c-dll,strcpy und fehler 1097
' schrieb:strcpy(szFileName, "Offset.his");
pFile = fopen(szFileName, "wb");
if (pFile)
{
//Headerinfos, zeiger auf buffer etc
}

Wie wird denn szFileName in Deinem Code deklariert? Ich tippe mal auf sowas:

char *szFileName;

Das alloziert keinen Buffer in den strcpy() etwas reinkopieren kann sondern halt nur einen Pointer ins Nirwana.

Da müsste schon soetwas stehen wie:

char szFileName[MAX_PATH];

Wenns nicht das ist, dann tut es mir leid. Ohne wesentlich mehr Informationen (ja auch Teile des Sourcecodes) wird's nicht möglich sein weiterzuhelfen.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.01.2011, 08:48
Beitrag #3

Digitabulum Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Jan 2011

9.0
2010
de


Deutschland
c-dll,strcpy und fehler 1097
Hallo rolfk,

danke für deine Antwort. Ich hab den Code an der Stelle ein wenig abgeändert und mit diesem Ergebnisse funktioniert es nun:


strcpy(szFileName, "Offset.his"); <- ersatzlos gestrichen

pFile = fopen("Offset.his", "wb"); <- und das dafür genommen


Manchmal ist eben weniger mehr ^_^

Nochmal ein dickes Danke

Digitabulum
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Fehlercode 1097 beim Aufrufen einer C++ DLL Dr. Nuke 11 3.146 22.07.2022 22:39
Letzter Beitrag: Martin.Henz
  Picoscope Err 1097 ares2013 10 9.443 26.12.2020 14:03
Letzter Beitrag: hansi9990
  Fehler 1097 beim Übergeben von Arrays Flemmy 4 8.534 22.10.2017 21:07
Letzter Beitrag: rolfk
  Aufruf externe DLL Fehler 1097 Lars_Tragl 1 8.482 11.08.2016 16:13
Letzter Beitrag: Freddy
  Error 1097 katanad 2 10.446 15.06.2016 11:31
Letzter Beitrag: katanad
  DLL Fehler 1097 M.VI 1 5.815 02.12.2014 08:38
Letzter Beitrag: GerdW

Gehe zu: