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!

03.09.2007, 14:37
Beitrag #1

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
LabVIEW: Absturz nach externem Code-Aufruf
Hallo,
ich hab ein Problem mit meinen externen Codes. Hab ein C-Skript geschrieben und über CIN (ich weiß das dies veraltet ist) eingebunden. Beim Durchlaufen des Skriptes stürzt LabVIEW mit dieser Fehlermeldung ab:

LabVIEW 8.0 Development System hat ein Problem festgestellt und muss beendet werden.

Um den Code etwas debuggen zu können, lass ich nach jeder Funktion eine Messagebox aufgehen, wo die Abarbeitung gerade steht. Und mit jedem Funktionsaufruf lese ich den MIL Fehlercode aus, wenn einer ansteht. Das Problem ist, das jede Funktion sauber durchlaufen wird. Zum schluß werden alle allozierten Speicher wieder schön freigegeben. Was heißt das jetzt? Huh
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.09.2007, 15:22 (Dieser Beitrag wurde zuletzt bearbeitet: 05.09.2007 15:23 von rolfk.)
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
LabVIEW: Absturz nach externem Code-Aufruf
' schrieb:Hallo,
ich hab ein Problem mit meinen externen Codes. Hab ein C-Skript geschrieben und über CIN (ich weiß das dies veraltet ist) eingebunden. Beim Durchlaufen des Skriptes stürzt LabVIEW mit dieser Fehlermeldung ab:

LabVIEW 8.0 Development System hat ein Problem festgestellt und muss beendet werden.

Um den Code etwas debuggen zu können, lass ich nach jeder Funktion eine Messagebox aufgehen, wo die Abarbeitung gerade steht. Und mit jedem Funktionsaufruf lese ich den MIL Fehlercode aus, wenn einer ansteht. Das Problem ist, das jede Funktion sauber durchlaufen wird. Zum schluß werden alle allozierten Speicher wieder schön freigegeben. Was heißt das jetzt? Huh

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

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.09.2007, 10:30
Beitrag #3

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.689
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
LabVIEW: Absturz nach externem Code-Aufruf
' schrieb:ich hab ein Problem mit meinen externen Codes. Hab ein C-Skript geschrieben und über CIN (ich weiß das dies veraltet ist) eingebunden.
Also sollte es sich bei diesem Script tatsächlich im das hier handeln, so müsste ich erstmal nachfragen: Wo wird denn da der Speicher für das "dynamische Array" der Länge 5 reserviert?

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
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
07.09.2007, 09:45 (Dieser Beitrag wurde zuletzt bearbeitet: 07.09.2007 09:47 von rolfk.)
Beitrag #5

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
LabVIEW: Absturz nach externem Code-Aufruf
' schrieb: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;
}

Und stellst Du dann sicher, dass Du da im LabVIEW Diagramm ein PixelX * PixelY grosses Array allozierst und das an die CIN gibst? Wohl kaum!Tongue

Ansonsten bekommst Du eben nur ein Handle ins CIN das 0 * 0 pixel gross ist, also nur Speicher alloziert hat für die zwei Dimensionsgrössen die dann eben 0 sind. Ein bischen Memorymanagement musst Du halt schon tun wenn Du in C arbeitest. Da ist nicht LabVIEW da, das Dir schön immer das Händchen haltend alles dahingehend für Dich erledigt.

Alternativ kannst Du auch bevor Du die Werte ins Array einfügst eine LabVIEW Memorymanager Funktion aufrufen um das Array korrekt zu resizen. Das ist sowieso vorzuziehen, da ansonsten Dein CIN nur korrekt aufrufbar ist wenn Du vor dem Aufruf das Array richtig anlegst mit Informationen die eigentlich im CIN stehen.

In Deinem Fall sollte ein Aufruf wie etwa folgender genügen:

err = NumericArrayResize(f64, 2, &Array, PixelX * PixelY):
if (err)
// clean up everything and return with error to LabVIEW

Bitte die entsprechenden Dimensionen nach dem Resize einfügen. Ist zwar eher kosmetisch aber normalerweise die korrekte Weise da NumericArrayResize im Falle eines Fehlers nichts mit dem Arrayhandle tut und LabVIEW dann eventuel über die inkorrekten Dimensionslängen stolpern könnte bei der Zurückkehr.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.09.2007, 14:14
Beitrag #6

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
LabVIEW: Absturz nach externem Code-Aufruf
' schrieb:Und stellst Du dann sicher, dass Du da im LabVIEW Diagramm ein PixelX * PixelY grosses Array allozierst und das an die CIN gibst? Wohl kaum!Tongue

Ansonsten bekommst Du eben nur ein Handle ins CIN das 0 * 0 pixel gross ist, also nur Speicher alloziert hat für die zwei Dimensionsgrössen die dann eben 0 sind. Ein bischen Memorymanagement musst Du halt schon tun wenn Du in C arbeitest. Da ist nicht LabVIEW da, das Dir schön immer das Händchen haltend alles dahingehend für Dich erledigt.

Alternativ kannst Du auch bevor Du die Werte ins Array einfügst eine LabVIEW Memorymanager Funktion aufrufen um das Array korrekt zu resizen. Das ist sowieso vorzuziehen, da ansonsten Dein CIN nur korrekt aufrufbar ist wenn Du vor dem Aufruf das Array richtig anlegst mit Informationen die eigentlich im CIN stehen.

In Deinem Fall sollte ein Aufruf wie etwa folgender genügen:

err = NumericArrayResize(f64, 2, &Array, PixelX * PixelY):
if (err)
// clean up everything and return with error to LabVIEW

Bitte die entsprechenden Dimensionen nach dem Resize einfügen. Ist zwar eher kosmetisch aber normalerweise die korrekte Weise da NumericArrayResize im Falle eines Fehlers nichts mit dem Arrayhandle tut und LabVIEW dann eventuel über die inkorrekten Dimensionslängen stolpern könnte bei der Zurückkehr.

Rolf Kalbermatter

Ich dachte diese Zeilen allozieren mir ein PixelX mal PixelY großes Array:
(*Array)->dimSizes[0] = PixelX;
(*Array)->dimSizes[1] = PixelY;
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
08.09.2007, 20:03
Beitrag #7

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
LabVIEW: Absturz nach externem Code-Aufruf
' schrieb:Ich dachte diese Zeilen allozieren mir ein PixelX mal PixelY großes Array:
(*Array)->dimSizes[0] = PixelX;
(*Array)->dimSizes[1] = PixelY;

Das ist dann ganz viel LabVIEW gedacht! Das funktioniert in LabVIEW aber eben nicht in C. Damit füllst Du zwar die Information ein die LabVIEW sagt wie gross das Array ist, aber dann ist eben das Array noch nicht so gross gemacht im Speicher. Dazu musst Du schon eine sogenannte Speicherverwaltungsfunktion aufrufen.

Hier ist eben einer der grossen Unterschiede zwischen LabVIEW Programmierung und C. In C musst Du Dich um jedes einzelne Byte selbst kümmern wo irgendetwas reingeschrieben werden soll, und dieses am Ende gegebenenfalls auch wieder ans System zurückgeben.

Eigentlich würde ich Dir empfehlen um einfach in LabVIEW zu bleiben. Dann hast Du das Problem mit der Speicheranfrage und -freigabe ganz einfach nicht.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.09.2007, 15:06 (Dieser Beitrag wurde zuletzt bearbeitet: 10.09.2007 15:09 von abrissbirne.)
Beitrag #8

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
LabVIEW: Absturz nach externem Code-Aufruf
' schrieb:Und stellst Du dann sicher, dass Du da im LabVIEW Diagramm ein PixelX * PixelY grosses Array allozierst und das an die CIN gibst? Wohl kaum!Tongue

Ansonsten bekommst Du eben nur ein Handle ins CIN das 0 * 0 pixel gross ist, also nur Speicher alloziert hat für die zwei Dimensionsgrössen die dann eben 0 sind. Ein bischen Memorymanagement musst Du halt schon tun wenn Du in C arbeitest. Da ist nicht LabVIEW da, das Dir schön immer das Händchen haltend alles dahingehend für Dich erledigt.

Alternativ kannst Du auch bevor Du die Werte ins Array einfügst eine LabVIEW Memorymanager Funktion aufrufen um das Array korrekt zu resizen. Das ist sowieso vorzuziehen, da ansonsten Dein CIN nur korrekt aufrufbar ist wenn Du vor dem Aufruf das Array richtig anlegst mit Informationen die eigentlich im CIN stehen.

In Deinem Fall sollte ein Aufruf wie etwa folgender genügen:

err = NumericArrayResize(f64, 2, &Array, PixelX * PixelY):
if (err)
// clean up everything and return with error to LabVIEW

Bitte die entsprechenden Dimensionen nach dem Resize einfügen. Ist zwar eher kosmetisch aber normalerweise die korrekte Weise da NumericArrayResize im Falle eines Fehlers nichts mit dem Arrayhandle tut und LabVIEW dann eventuel über die inkorrekten Dimensionslängen stolpern könnte bei der Zurückkehr.

Rolf Kalbermatter

Habs mal mit der NumericArrayResize() Funktion versucht. Den typeCode f64 kennt die Funktion schonmal nicht. Habs dann so versucht:
if(err = NumericArrayResize(uB, 2, (UHandle*) &Array, PixelX * PixelY))
goto release
Das hat er dann auch geschluckt. Mein Skript sieht nun also folgendermaßen aus:

#include ”extcode.h“
#include <mil.h>
#include <windows.h>

UseDefaultCINInit
UseDefaultCINDispose
UseDefaultCINAbort
UseDefaultCINLoad
UseDefaultCINUnload
UseDefaultCINSave

/* Typedefs */

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

typedef char * STRING;

#define PixelX 320
#define PixelY 256

extern "C" MgErr CINRun(TD1Hdl Array, LVBoolean *Done);

MgErr CINRun(TD1Hdl Array, LVBoolean *Done)
{
MIL_ID
MilApplication = M_NULL,
MilSystem = M_NULL,
MilDigitizer = M_NULL,
MilGrabBuffer = M_NULL;

int ImageBuffer[PixelX][PixelY];
int col, row;

float64 *ptrResultArrayElement;
MgErr err=noErr;

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

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

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;
}

ptrResultArrayElement = (*Array)->Numerisch;

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

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

*Done = LVTRUE;

return err;
}

Hab noch eine LED in mein Frontpanel eingebaut, das mir anzeigen soll, wenn das CIN sauber zurückgekehrt ist. Die LED wird auch gesetzt. LabVIEW stürtzt nicht ab, aber Daten hab ich immer noch keine. Wo bleiben die denn auf der Strecke? Ach ja, was mir noch aufgefallen ist. Wenn ich die erste for Schleife PixelY mal durchlaufen lasse, stürtzt LabVIEW immernoch ab. Hab dann mal nur 5 Schleifendurchläufe gemacht und dann wird das Skript sauber durchlaufen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.09.2007, 15:22
Beitrag #9

oenk Offline
LVF-Stammgast
***


Beiträge: 361
Registriert seit: May 2005

>= 7.1
2004
EN

3018
Schweiz
LabVIEW: Absturz nach externem Code-Aufruf
ich klink mich mal quer ein und frag ganz blöd:

hast du deinen C-code schonmal debugged? Da sieht man viel was mit den Arrays uws passiert...
Hat mir seinerzeit viel geholfen....

Christian

In theory, there is no difference between theory and practice; In practice, there is.

Chuck Reid
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.09.2007, 15:30 (Dieser Beitrag wurde zuletzt bearbeitet: 10.09.2007 15:32 von abrissbirne.)
Beitrag #10

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
LabVIEW: Absturz nach externem Code-Aufruf
<!--quoteo(post=36203:date=10.09.2007 , 16:22:13:name=<<oenk>>)--><div class='quotetop'>ZITAT(<<oenk>> @ 10.09.2007 , 16:22:13) [url=index.php?act=findpost&pid=36203][/url]</div><div class='quotemain'><!--quotec-->ich klink mich mal quer ein und frag ganz blöd:

hast du deinen C-code schonmal debugged? Da sieht man viel was mit den Arrays uws passiert...
Hat mir seinerzeit viel geholfen....

Christian[/quote]

Jo, also für sich funktioniert das Skript. Wenn ich mir ein Display aus der Matrox Bibliothek nehme, kann ich mir die gegrabbten Daten auch schön anzeigen lassen. Ich hab auch ein Skript geschrieben, welches mir ein 2D Array an LabVIEW übergibt. Dieses Array hab ich allerdings von Hand in meinem Quellcode gefüttert. Diese beiden Skripte laufen für sich super. Will ich es kombinieren, klappt es nicht.

Hab mal noch das LabVIEW VI drangepackt.


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


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.483 18.07.2011 09:45
Letzter Beitrag: Georg26

Gehe zu: