DLMSDK дайте пожалуйста простейший пример

0 (0)
  • Развернуть DLMSDK дайте пожалуйста простейший пример ( Ulan  02.09.2009 14:13 )
    3(2)
    Добрый день.
    Может кто дать простейший пример кода на с++ типа "Hellow, WORLD!!!".
    И батник для компиляции. А то что-то никак не могу разобраться с этим DLMSDK.
    >> Ответить
    • Развернуть в дополнение ( Ulan  02.09.2009 14:36 )
      5(1)
      Версия компилятора Borland C 5.02
      Скачал DLM SDK версии 3.14, в нем были файлы под директориями "H" и "LIB" + документация.
      Закинул файлы из "LIB" в директорию "LIB" компилятора (т.е. в c:\bc5\lib), а файлы из "H" - в папку c:\bc5\Include

      в качестве примера написал код:
      #include "rsl\dlmintf.h"
      
      
      extern "C" void DLMAPIC PrintHello (void)
      {
        //MsgBox("HELLO, WORLD");
        print("HELLO, WORLD");
      }
      
      EXP32 void DLMAPI EXP AddModuleObjects (void)
      {
         AddStdProc (V_BOOL, "PrintHello", PrintHello, 0);
      }
      
      EXP32 void DLMAPI EXP InitExec (void)
      {
      
      }
      EXP32 void DLMAPI EXP DoneExec (void)
      { 
      
      }
      

      Написал батник:
      C:\BC5\BIN\bcc32 -WX -c ulan.cpp
      C:\BC5\BIN\tlink32 -Tpd -ax c0d32 ulan.obj, ulan.d32,,rsldlm32.lib  rsldlm32 dpmi32x cw32
      

      выдает ошибку:
      C:\BC_Code>C:\BC5\BIN\tlink32 -Tpd -ax c0d32 ulan.obj, ulan.d32,,rsldlm32.lib  rsldlm32 dpmi32x cw32
      Turbo Link  Version 2.0.68.0 Copyright (c) 1993,1997 Borland International
      Warning: Export 'RslSetCallBacks' is duplicated
      Warning: Export 'RslDllMain' is duplicated
      Fatal: Unable to open file '32stub.exe'
      

      Помогите разобраться с этим делом.
      >> Ответить
      • Развернуть Не надо ничего никуда перекидывать (+) ( sokols  03.09.2009 11:31 )
        5(1)
        Всяк по своему с ума сходит, а я вот так работу себе упростил.
        DLM SDK с подкаталогами разархивировал, внутри создал каталог WORK, получилось:
        Содержимое папки D:\dlmsdk
        
          C
          DATA
          DOC
          H
          LIB
          MAC
          OK
          OUT
          work

        в WORK лежат мои исходники и батник make_d32.BAT:
        @echo off
        cls
        set DLMSDK=D:\DLMSDK
        set D32DIR=U:\RSBANK\MAC1\_D32if not exist %DLMSDK%\WORK\%1 goto err1
        if %1.==. goto err1
        set CBUILDER="D:\Program Files\Borland\CBuilder5"
        cd %CBUILDER%\Bin\"
        rem Опция -P - для включения возможностей CPP
        bcc32 -W -P -c -WD  -L..\LIB -I..\INCLUDE;%DLMSDK%\c\ext;%DLMSDK%\H -e%~n1.d32 -n%DLMSDK%\OUT\32 %DLMSDK%\WORK\%1 %DLMSDK%lib\rsldlm32.lib 
        if %errorlevel% == 0 goto link
        echo Ошибка компиляции
        goto end
        :link
        ilink32 -v -Tpd -ap -j..\LIB -L%DLMSDK%\LIB;..\LIB;..\LIB\PSDK /x c0d32 %DLMSDK%\out\32\%~n1.obj,%DLMSDK%\out\32\%~n1.d32,,rsldlm32.lib import32 cw32 ole32.lib
        if %errorlevel% == 0 goto fcopy
        echo Ошибка компиляции
        goto end
        :fcopy
        copy %DLMSDK%\out\32\%~n1.d32 %D32DIR%
        cd %DLMSDK%\WORK\"
        goto success
        :err1
        @echo no input file
        goto end
        :success
        copy %DLMSDK%\OUT\32\%~n1.d32 U:\RSBANK55\MAC1\_D32
        @echo Everything's all right...
        :end
        

        запуск из каталога WORK: make_d32.BAT ulan.cpp

        Ну пути, конечно, подправить.

        >> Ответить