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 

LabVIEW: Absturz nach externem Code-Aufruf



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!

06.09.2007, 12:46
Beitrag #4

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
LabVIEW: Absturz nach externem Code-Aufruf
' schrieb:Wahrscheinlich, dass Du irgendwas mit den LabVIEW Datenbuffern tust die an das CIN gegeben werden und wenn LabVIEW davon zurückkehrt stolpert es darüber. Du darfst keinesfalls einfach irgendwelche Pointer/Handles überschreiben im CIN, weil Du etwa denkst die brauch ich eh nicht mehr, etwa zur Verwendung als temporäre Variable. LabVIEW geht davon aus das alle Handles die an das CIN übergeben konsistent bleiben (d.h. wenn Du etwas daran änderst muss dass korrekt durch Aufruf der LabVIEW Manager Funktionen geschehen), da LabVIEW am Ende des CINs alles sauber aufräumen will um mit dem Diagramm weiterfahren zu können.

Ansonsten ist wohl ohne den Sourcecode zum nachschauen und testen für niemanden noch mehr zu sagen.

Rolf Kalbermatter

Hier mal noch der Quellcode um den es sich handelt:
/* CIN source file */
#include ”extcode.h“
#include <mil.h>
#include <windows.h>

#define PixelX 320
#define PixelY 256

UseDefaultCINInit
UseDefaultCINDispose
UseDefaultCINAbort
UseDefaultCINLoad
UseDefaultCINUnload
UseDefaultCINSave

/* Typedefs */

typedef struct {
int32 dimSizes[2];
float64 Numerisch[1];
} TD1
typedef TD1 **TD1Hdl;

extern “C” MgErr CINRun(TD1Hdl Array);

MgErr CINRun(TD1Hdl Array)
{

MIL_ID
MilApplication = M_NULL,
MilSystem = M_NULL,
MilDigitizer = M_NULL,
MilGrabBuffer = M_NULL;

unsigned char ImageBuffer[PixelY][PixelX];
float64 *ptrElementOfResultArray;
char *DCF_FILE_PATH;
int row, col;

(*Array)->dimSizes[0] = PixelY;
(*Array)->dimSizes[1] = PixelX;

ptrElementOfResultArray = (*Array)->Numerisch;
*ptrElementOfResultArray = 0;

DCF_FILE_PATH = “D:\Programme\Matrox...\Solios_DCF\Cedip ...”

MilApplication = MappAlloc(M_DEFAULT, M_NULL);
MilSystem = MsysAlloc(M_SYSTEM_SOLIOS, M_DEV0, M_COMPLETE, M_NULL);
MilDigitizer = MdigAlloc(MilSystem, M_DEV0, DCF_FILE_PATH, M_DEFAULT, M_NULL);
MilGrabBuffer = MbufAlloc2d(MilSystem, PixelX, PixelY, M_UNSIGNED+8, M_IMAGE+MGRAB, M_NULL);
if (MappGetError(MGLOBAL, M_NULL))
{
goto release;
}

MdigGrab(MilDigitizer, MilGrabBuffer);
if (MappGetError(MGLOBAL, M_NULL))
{
goto release;
}

MbufGet2d(MilGrabBuffer, 0, 0, PixelX, PixelY, ImageBuffer);
if (MappGetError(MGLOBAL, M_NULL))
{
goto release;
}

for (col = 0; col < PixelX; col++)
{
for(row = 0; row < PixelY; row++)
{
*ptrElementOfResultArray = ImageBuffer[col][row];
ptrElementOfResultArray++;
if (MappGetError(MGLOBAL, M_NULL))
{
goto release;
}
}
}

release:
MbufFree(MilGrabBuffer);
MdigFree(MilDigitizer);
MsysFree(MilSystem);
MappFree(MilApplication);

Return noErr;
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
LabVIEW: Absturz nach externem Code-Aufruf - abrissbirne - 06.09.2007 12:46

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Absturz durch unzulässige Pointer VS_03 3 10.274 28.10.2016 18:32
Letzter Beitrag: VS_03
  Labview blockiert serielle Schnittstelle nach Aufruf der DLL Berdschi 5 8.175 24.04.2014 08:38
Letzter Beitrag: Berdschi
  Fehler beim Schließen des VIs nach Delphi-DLL-Aufruf Bärbel 10 14.220 11.11.2013 11:44
Letzter Beitrag: andreaskoller
  Labview-Code in Visual Studio GladiatoreSardo 1 5.629 12.11.2012 10:41
Letzter Beitrag: GerdW
  Absturz von Labview nach schliessen eines VIs sima 4 7.869 23.01.2012 17:07
Letzter Beitrag: sima
  Absturz und fehler bei aufrufen einer externen dll Georg26 3 6.484 18.07.2011 09:45
Letzter Beitrag: Georg26

Gehe zu: