AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Dll erzeugt durch Delphi in LabView einbinden
Thema durchsuchen
Ansicht
Themen-Optionen

Dll erzeugt durch Delphi in LabView einbinden

Ein Thema von Surrounder · begonnen am 19. Dez 2006 · letzter Beitrag vom 20. Dez 2006
Antwort Antwort
Benutzerbild von Surrounder
Surrounder

Registriert seit: 26. Sep 2003
Ort: Stuttgart
177 Beiträge
 
Delphi 2006 Professional
 
#1

Dll erzeugt durch Delphi in LabView einbinden

  Alt 19. Dez 2006, 12:03
Ich habe eine Dll die ich in Delphigeschrieben habe, diese funktioniert auch schon mehrfach bei vielen Kunden. Jetzt habe ich einen der diese mit LabView verwenden will. Das meiste funktioniert auch, nur habe ich an einer Stelle ein Problem und da komme ich so langsam nicht weiter. Vielleicht kennt sich einer da aus, denn ich bin auch mit LabView nicht ganz so vertraut.

Und zwar habe ich einen Dll Aufrug dem ich einen Zeiger übergebe und in den die Dll je nach Konfiguration z.B. 10000 Messwerte schreibt. Die Dll hat eine weitere Funktion mit dem man prüfen kann wieviele Messwerte schon geschrieben sind.

Im Normalfall habe ich bisher immer ein array verwendet und dort einen Zeiger auf das erste Element übergeben. Das klappt auch ohne Probleme und ich kann den Füllstand prüfen und die Werte aus dem Array lesen und zeichnen.

In LabView klappt das nicht, dort gibt es ja keine array sondern irgend welche Listen. Ich bekomme auch einen Zeiger von LabView und schreibe dorthin meine Messwerte. Wenn der Kunde den Füllstand abfragt bekommt er auch diesen korrekt zuück. Trotzdem stehen in der Liste in LabView keinerlei Werte drinnen. Das ist einfach leer.

Kennt sich da einer von Euch aus oder hat mir einen Hinweis nach was ich da in LabView suchen könnte oder tun muss damit so etwas funktionieren kann?
In C geschrieben und schön war zuletzt Franz Schuberts 9. Symphonie
  Mit Zitat antworten Zitat
MikeS

Registriert seit: 3. Mai 2003
Ort: München
157 Beiträge
 
Delphi 7 Professional
 
#2

Re: Dll erzeugt durch Delphi in LabView einbinden

  Alt 19. Dez 2006, 12:14
In LabVIEW gibt es auf jeden Fall Array´s.

Wie versuchst Du denn an Deine Werte heranzukommen. Hast Du einen Screenshot von dem VI?
Mike Schröder
Fleiß kann man vortäuschen, faul muss man schon selber sein!
  Mit Zitat antworten Zitat
Benutzerbild von Surrounder
Surrounder

Registriert seit: 26. Sep 2003
Ort: Stuttgart
177 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Dll erzeugt durch Delphi in LabView einbinden

  Alt 19. Dez 2006, 12:24
Nein leider nicht, mein Problem ist dass ich mich mit LabView gar nicht wirklich auskenne sondern der Kunde das eben verwendet um mit meiner DLL zu arbeiten.

Ich kann aber alles was die DLL macht als Debug Informationen auloggen und da sehe ich schon dass er mir einen Zeiger übergibt, aber ob es der Zeiger auf die Liste / Array ist die er haben will sehe ich eben nicht, und er kann sich die Adressen in LabView wohl auch nicht anzeigen lassen. Er hat mir gesagt dass er dasgrafisch programmiert und nur eine Linie von dem Array / Liste auf den Eingang zieht an dem er die Adresse braucht.

Gibt es denn wirklich keine Möglichkeit sich Adressen in LabView anzeigen zu lassen? Muss man LabView denn irgend etwas sagen damit es einen Zeiger übergibt so wie man ihn in C oder Delphi kennt?
In C geschrieben und schön war zuletzt Franz Schuberts 9. Symphonie
  Mit Zitat antworten Zitat
Benutzerbild von Surrounder
Surrounder

Registriert seit: 26. Sep 2003
Ort: Stuttgart
177 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Dll erzeugt durch Delphi in LabView einbinden

  Alt 20. Dez 2006, 17:54
Ok das Problem hat sich gelöst, ich erkläre es kurz falls das auch mal jemand sucht:

LabView macht eine Kopie der Variable und übergibt dann dort drauf den Zeiger. Nach dem Aufruf der Funktion kopiert es dann den Inhalt wieder auf das Original zurück. Da ich aber erst dann beginne die Werte während der Messung in den Buffer zu legen schreibe ich die in die Kopie rein, diese ist aber für LabView in dem Fall schon komplett uninteressant und der LabView Anwender bekommt diesen Inhalt nie zu Gesicht.

Einzige Lösung, und das ist das was auch ich jetzt gemacht habe, ist dass ich die Buffer zu Speicherung der Messwerte in der Dll anlege und dann erst nach der Messung diese dem Anwender übergebe. Hat den Nachteil dass die Messkurve nicht während der Messung gezeichnet werden kann, sondern erst wenn diese Beendet ist. Das war aber in meinem Fall jetzt kein Problem
In C geschrieben und schön war zuletzt Franz Schuberts 9. Symphonie
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz