Readme zum Archiv DASYTRB.LZH 

Die Dateien in diesem Archiv stellen 
den Demo-Treiber zum ELRAD-Artikel
"Software-Kontakt" aus Heft 6/96 bereit.

Die Files

  ELRAD.DLL und ELRAD.ICO

enthalten den Treiber als compilierte 
Dynamic Link Library inkl. Grafik-Icon
fuer den direkten Einsatz mit der ebenfalls
zum Artikel bereitgestellten DASYLab-Demo
(Demo siehe Archive DASYTST1.LZH und 
DASYTST2.LZH. Auf dem ELRAD-FTP-Server zu finden
im Verzeichnis .../080/... - Messtechnik). 

Zur Verwendung mit der DASYLab-Demo, muss die DLL im 
Installationsverzeichnis der Software 
vorhanden sein und dann unter Messe/Treiber-Auswahl
selektiert werden. Nach Beenden und erneutem Starten
von DasyLab sollte der Treiber dann in der Demoversion 
verwendet werden. 


Der C-Quellcode zum Treiber (fuer MS C) finded sich
in den Dateien 

ELRAD.C, ELRAD.DEF, ELRAD.H, ELRAD.MAK, ELRAD.RC 
sowie TREIBER.H


TREIBER.H enthaelt die in Listing 1 des Artikels 
vorgestellte Interrupt-Routine der Treiberschnittstelle.
Die Einbindung realer Erfassungshardware in den Quellcode
erfordert (vorallem) Aenderungen in ELRAD.C und TREIBER.H


************* Korrektur *************************************************

In der per FTP und Mailbox bereitgestellten Software 
zum Elrad-Artikel "Software-Kontakt" aus Heft 6/96 hatte sich 
leider ein Fehler eingeschlichen: 

In der Routine DRV_InitDevice wird eine 
Versionspruefung durchgefuehrt. Hier wurde der Sonderfall 
DEMO-Version vergessen. Der entspr. Nachtrag ist im unten 
wiedergegebenen Source mit /***/ markiert.

Im vorliegenden Archiv dasytrb.lzh sind korrigierte Versionen 
von ELRAD.DLL und ELRAD.C enthalten.


Source-Auszug mit Aenderung:

int FAR PASCAL __export DRV_InitDevice (DRV_INFOSTRUCT far * StructAdr)
{

   if (!InitOk)
   {
      /* store pointer to parameter struct */
      InfoStruct = (DRV_INFOSTRUCT far *) StructAdr;


      /* check DASYLab Version on consistence */
      
/***/ if ( (InfoStruct->Version != DRV_VERSION) && (InfoStruct->Version != DRV_VERSION_DEMO) )
      {
         LoadString (hInst, STR_WRONGSTRUCT, ((LPSTR) acStrTemp), 40);
         wsprintf (szString, "%s", (LPSTR) acStrTemp);
         MessageBox (GetActiveWindow (), szString, MESSAGE_HEADER, MB_OK | MB_ICONSTOP);
         return DRV_FUNCTION_FALSE;
      }

**************************************************************************


M.Klein, 26.06.1996

