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!

11.09.2007, 15:55
Beitrag #20

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
LabVIEW: Absturz nach externem Code-Aufruf
' schrieb:Hätte ich mir fast denken können. Hab' ich mittlerweile auch so nachgelesen. Im von <<oenk>> verlinkten Dokument steht ja genau das als Quellcode drinnen, was abrissbirne machen will.

Als erstes möchte ich mich bei euch für eure Unterstützung danken. Ich bin ein kleines Stückchen weitergekommen und ohne eure Anregungen, hätte es entweder noch lange gedauert, oder aber ich hätte irgendwann aufgegeben. Hab nun ein Skript, dass mir Daten von der Kamera in einen Puffer speichert. LabVIEW bekommt mittels eines Pointers Wert für Wert übertragen. Das ganze Funktioniert auch und ich bekomme in meinem Intensitätsgraphen ein Image. Nur leider hat das Bild nix mit dem von der Thermokamera aufgenommenen gleich. Zum besseren Verständnis hab ich mal ein Screenshot hochgeladen und den Quellcode gibts jetzt:

#include "extcode.h"
#include <windowsh>
#include <mil.h>

#define PixelX 320
#define PixelY 256

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

typedef TD1 **TD1Hdl;

typedef char *STRING;

extern "C" MgErr CINRun(TD1Hdl Array);

MgErr CINRun(TD1Hdl Array)
{
MgErr = noErr;
STRING DCF_File = "D:\Dokumente...";

Mil_ID
MilApplication = M_NULL,
MilSystem = M_NULL,
MilDigitizer = M_NULL,
ImagBuffer[PixelX][PixelY];

float64 *ptrResultElement;
int cols, rows;

MilApplication = MappAlloc(M_DEFAULT, M_NULL);
MilSystem = MsysAlloc(M_SYSTEM_SOLIOS, M_DEFAULT, M_COMPLETE, M_NULL);
MilDigitizer = MdigAlloc(MilSystem, M_DEFAULT, DCF_File, M_DEFAULT, M_NULL);
ImageBuffer[PixelX][PixelY] = MbufAlloc2d(MilSystem, PixelX, PixelY, M_UNSIGNED+16, M_IMAGE + M_DISP + M_GRAB + M_PROC, M_NULL);

if(err = NumericArrayResize(fD, 2L, (UHandle*)&Array, PixelX * PixelY))
goto release;

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

if(MappGetError(M_GLOBAL, M_NULL))
goto release;

MdigGrab(MilDigitizer, ImageBuffer[PixelX][PixelY]);
if(MappGetError(M_GLOBAL, M_NULL))
goto release;

for(cols = 0; cols < PixelY; cols++)
{
*ptrResultElement = 0;
for(rows = 0; rows < PixelX; rows++)
{
*ptrResultElement = ImageBuffer[rows][cols];
ptrElementResult++;
}
}

release:
MbufFree(ImageBuffer[PixelX][PixelY];
MdigFree(MilDigitizer);
MsysFree(MilSystem);
MappFree(MilApplication);

return err;
}


Angehängte Datei(en) Thumbnail(s)
   
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 - 11.09.2007 15:55

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: