BCB Components rotating around DirectX

Welcome to BCB-Tools.com Latest News

Development Tools Demo Applications Step-by-Step Tutorials Component Reference

Register Here! Available Downloads

Frequently Asked Questions Discussion Forums Receive emails from BCB-Tools.com Send us some Feedback

Links to other sites Information about the BCB-Tools.com website


    TDX_LIBRARY INFORMATION
    Go to the Welcome Page
    Si te gustaría hacernos saber algo que no se encuentre en esta página, Pregúntanos y lo añadiremos.




    DESCRIPCIÓN DE LA TDX_LIBRARY
    Top     Next



    La TDX_LIBRARY es un concepto, en el cual todo el SDK de Microsoft DirectX 7.0a SDK está siendo traducido y optimizado para su total integración con el galardonado Borland C++ Builder Rapid Application Development Compiler (BCB), versions 1, 3, 4, 5 and 6.

    La TDx_Library consiste en una serie de librerías separadas por componentes de cada sub-seción del SDK de DirectX en una arquitectura del tipo VCL dentro del BCB's, consiguiendo la total integración del poder de DirectX en el entorno rápido de desarrollo de aplicaciones conocido como bcb, esto redunda en una reducción drástica de los tiempos de desarrollo y la complejidad de los proyectos usando DirectX y BCB.

    Cada librería, mapea individualmente DirectX en varias capas básicas a bajo-nivel, simplificando y haciendo mas llevadero el trabajo con estructuras e interfaces de DirectX. Todo resulta mucho mas fácil usando Componentes clásicos del BCB, con las habituales propiedades, métodos y eventos, combinándose perfectamente con los componentes existentes en el BCB.

    Hemos traducido literalmente los DirectX callbacks a eventos del estilo de BCB, como OnDDEnumerate() y OnEnumDisplayModes().

    Los Interfaces de DirectX son creados y destruidos automáticamente, las estructuras son limpiadas automáticamente, la comprobación de errores actua automáticamente, tambien puedes acceder y modificar internamente los componentes para así mezclar y ajustar con código existente de DirectX.

    Te resulta imposible recordar los detalles? Pulsas F1 en el BCB y aparecerá una ayuda emergente, personalizada en el BCB sobre la TDx_Library.

    La TDx_Library está diseñada para reducir el tiempo de desarrollo en el BCB de cualquier programa que use DirectX.



    Es un avanzado juego de herramientas que:-
    • integra totalmente la potencia de DirectX 7 en el BCB
    • mejora ambos, BCB y el desarrollo de aplicaciones DirectX
    • reduce los tiempos totales de desarrollo usando DirectX
    • reduce la complejidad total de la programación de DirectX.


    Para más información pulsa en:-




    BENEFICIOS USANDO LA TDX_LIBRARY
    Top     Next     Prev



    Hay algunos beneficios para el usuario final de la TDx_Library, incluyendo :-

    • Desarrollo Rápido de Aplicaciones DirectX
    • Multimedia Avanzada para las aplicaciones creadas con el BCB
    • Dibujado perfecto de Gráficos 2D y 3D, sonidos increíbles, todo tipo de Dispositivos de Entrada, asi como funciones de red para multi-jugador


    Adicionalmente, este site intentará ayudarte a comprender :-
    • Como trabajar con el BCB
    • Cómo funciona DirectX
    • Cómo funciona la TDx_Library
    • Como utilizar plenamente las capacidades de la TDx_Library

    • y... cómo "transportar" código DirectX existente a código de la TDx_Library...
      ... piensa...hay TONELADAS de código fuente de DirectX disponibles en la web
      ... y con la TDx_Library todo es mucho mas sencillo.
    Un buen comienz para entender la TDx_Library, sería documentarte en:-

    For more information, cl :-




    TOTAL INTEGRACIÓN DE DIRECTX Y BCB
    Top     Next     Prev



    La TDx_Library comprende una total integración de DirectX y BCB habiendo sido traducida toda la información de DirectX
    en algunos componentes individuales para el BCB.
    "componentes" - objetos visuales que puedes arrastrarse y soltarse para crear una aplicación Windows.



    Los componentes están organizados en varias Librerías de Componentes, cada una de las cuales "mapea" todas las funcionalidades de una sub-sección completa del DirectX SDK, como pueden ser DirectDraw, DirectSound, DirectInput, DirectPlay ó Direct3DI.

    Por Ejemplo :-
    • La TDx_Draw_Library mapea todo el sistema de DirectDraw (Gráficos en 2 Dimensiones)



    • La TDx_Sound_Library mapea todo el sistema de DirectSound (Efectos de Sonido y Grabación)



    • La TDx_Input_Library mapea todo el sistema de DirectInput (Dispositivos de Entrada)



    • La TDx_Play_Library mapea todo el sistema de DirectPlay (Networking - Redes - Multi-Player)



    • La TDx_3DI_Library mapea todo el sistema de Direct3DI (Gráficos en 3 Dimensiones)





    Para una información mas detallada de como trabaja la TDx_Library, y su total integración de DirectX con BCB
    Prueba a mirar el tutorial "Como Funciona" :




    RAD DIRECTX
    Top     Next     Prev

    Los Componentes de la TDx_Library están disponibles para que los programadores, visualmente,
    arrastren y suelten los componentes en cualquier aplicación que requiera el uso de DirectX.



    Por ejemplo, para crear una aplicación de prueba de DirectSound, usaremos un TFrom standard de BCB5.
    entonces añadimos lo siguiente: 1 x TButton, 1 x TDx_Sound, 1 x TDx_SoundBuffer and 1 x TDSBufferDesc :-





    Añadimos tambien un pequeño fragmento de código:-

      // ------------------------------------------------------------------------------------------------------
      void __fastcall TForm1::Button1Click(TObject *Sender)
      {
      // creamos el interface al dispositivo DirectSound por defecto
      if (Dx_Sound1->Create(NULL))
        {
        // creamos un DirectSoundBuffer del fichero TEST .WAV
        // y almacenamos la informacion del buffer en DSBufferDesc1
        if (Dx_SoundBuffer1->CreateFromFile("TEST.WAV", DSBufferDesc1, Dx_Sound1))
          {
          // Hacemos que suene el fichero .wav una vez
          if (Dx_SoundBuffer1->Play(0,0))
            {
            // Aqui, pondriamos cualquier cosa que quisiesemos hacer mientras el sonido siga sonando
            while (Dx_SoundBuffer1->Playing)
              DoSomething();
            }
          // destruimos el buffer de sonido
          Dx_SoundBuffer1->Destroy();
          }
        // Destruimos el DirectSound interface
        Dx_Sound1->Destroy();
        }
      }


    Pulsa F9 para construir el proyecto: una aplicacion de prueba de DirectSound reproduciendo un archivo llamado TEST.WAV



    Y ya puedes ver el RAD DirectX en action.



    Para más información pulsa:-




    CORE FUNCTIONALITY OF THE TDX_LIBRARY
    Top     Next     Prev



    La TDx_Library tierne algunas características diseñadas para hacer mucho mas fácil la programación de DirectX con el BCB,
    y tambien es adecuada para programadores de BCB que deseen un fácil acceso a algunas características avanzadas de DirectX :-

    • Literalmente lo Mapea TODO

      Gráficos en 2D y 3D , Sonido en 2D y 3D, Dispositivos de Entrada force-feedback, Soporte para internet, literalmente el SDK DirectX 7.0a completo, está disponible en la TDx_Library.


    • Arquitectura de Componentes Estilo-BCB

      Puedes soltar componentes en un TForm, configurarlos usando el BCB Object Inspector (incluidas propiedades y eventos), añadir tu TForm personalizado del BCB Object Repository, y para finalizar, programar una pequeña cantidad de código y ya tienes tu aplicación funcionando (usualmente 1 linea de código por acción).


    • Mapeado de Componentes Estructura e Interface

      Todas las estructuras e interfaces de DirectX han sido convertidos a componentes de forma que puedas utilizar los beneficios del BCB , cómo :-

        Copiar y Pegar Componentes,
        BCB Object Inspector (Inspector de Objetos),
        BCB Object Repository (Repositorio de Objetos),
        BCB Code Editor Highlighting (Formateador de Código fuente),
        F1 Instant Help (Ayuda Inmediata con la tecla F1),
        etc...etc.

      Por ejemplo, la estructura DDBLTFX viene con el componente TDDBltFX, una estructura DSBUFFERDESC viene como un componente TDSBufferDesc, El Interface IDirectDraw7 viene como un TDx_Draw component, El Interface de IDirectSoundBuffer viene como un TDx_SoundBuffer component, etc...etc.


    • Convenciones de declaración BCB-Style

      El sistema de "notación húngara" que sigue DirectX ha sido cambiado a las convenciones de nombres del Estilo-BCB, Un ejemplo: "lpddSCaps" pasa a ser "SCaps", esto hace que DirectX sea mucho mas fácil de leer y entender.


    • DirectX Saneado

      Estructuras, miembros de las estructuras, métodos, parámetros de los métodos y banderas (flags) que no están disponibles actualmente en DirectX, no se visualizan, permitiendo concentrarte en el código que realmente trabaja.


    • Miembros de Estructuras Convertidos

      Los tipos de miembros de las estructuras de DirectX han sido traducidos a tipos de propiedades del estilo-BCB. Por ejemplo, un DWORD es ahora un dword, un LPBOOL es ahora un bool*, un LPRECT es ahora un TRect, etc...etc. Miembros de estructuras que contienen DirectX flags pueden configurarse usando el BCB Object Inspector.


    • Llamadas a Funciones Convertidas

      Las Funciones de DirectX han sido traducidas a métodos del estilo-BCB, la mayoría de funciones retorna un valor bool que indica el éxito o frácaso de la llamada a funcion.


    • Parámetros de Funciones Convertidos

      Los tipos de parámetros de cada función de DirectX han sido traducidos al estilo-BCB. Por ejemplo, un LPBOOL es ahora un bool*, un LPRECT es ahora un TRect*, etc...etc. Los Métodos tambien han sido convertidos, asi que no es requerido el paso de parámetros inusuales o parámetros que solo puedan ser un único valor.


    • Ajuste Automático de Estructuras

      Cada estructura es inicializada a 0 y el dwSize member ajustado al sizeof() correcto de la estructura.


    • Multiple Mapeadores de Estructuras

      Arrays de estructuras son manejados automáticamente por cada componente,permitiéndote así, concentrarte en rellenar las estructuras, no manejando su alojamiento en memoria o su setup inicial.


    • Creación y Destrucción Automática del Interface

      Cada componente de Interface tiene los métodos Create() y Destroy() los cuales automáticamente crean y destruyen la ultima version del interface DirectX con el que estemos trabajando . Por Ejemplo, el componente TDx_Draw tiene el método TDx_Draw::Create() el cual crea automáticamente un LPDIRECTDRAW y usa IDirectDraw::QueryInterface() para crear un LPDIRECTDRAW7 internamente. De forma parecida, el método TDx_Draw::Destroy() borra sus propios interfaces internos.


    • Create() and Destroy() Extras

      Each interface component has a Created property to let you know if the Create() worked, and OnCreate() and OnDestroy() events that can be used to correctly cascade object creation and destruction.


    • Automatic Error Detection

      All known DirectX errors are trapped and sent to bcb-style OnError() events automatically, complete with complex error messages. This feature is invaluable for runtime error retrieval. The ErrorValue property can to be used to check the last known error message. Additionally, all array-style structure members are automatically checked for out-of-bounds indexing errors.


    • OnError() Extras

      Each component has an ErrorValue property to let you know the last error code returned from a call to a DirectX function, and occasionally when a value goes out of bounds.


    • Automatic Callback to Event Redirection

      All known 'callbacks' used by DirectX have been redirected to an 'OnEnumXXX' event of the appropriate component. eg. the IDirectDraw7::EnumVideoPorts() function now automatically calls the TDx_Draw::OnEnumVideoPorts() BCB-style event instead. No more fiddling with callbacks.


    • Automated Resource Loading

      Some components have extra methods to load or save bitmaps, palettes, sounds and so on. For example, the TDx_Draw, TDx_DrawPalette and TDx_Sound components contain methods like LoadFromFile(), CreateFromFile(), SaveToFile() and so on that dramatically speed implementation.


    • Integrated BCB-Style Help

      An informative context sensitive help file is completely integrated into BCB. Press F1 in BCB and the help you require is displayed. Includes a "see-also" section which lets you navigate related information with ease. eg. If you are looking at a method and want to see what uses it, press F1.


    • Examples, Demos & Tutorials

      We will be creating many examples, demos and tutorials that will enable you to learn how to use our tools quickly and easily.


    • BCB Version 1/3/4/5/6 Compatibility

      All of our components are designed to function identically in Borland C++ Builder v1, v3, v4, v5 and v6, using a single copy of the component source code.



    WRAPPING OF DIRECTX STRUCTURES & INTERFACES
    Top     Next     Prev



    The wrapping of DirectX is performed on a low-level, one-to-one, basis :-

    • Each DirectX Structure has been converted into a single BCB component, with optimizations when required :-

      • Sructure maintenance has been automated
      • Structure members have been translated to BCB Properties
      • Structure members have been renamed to remove "Hungarian Notation"
      • Structure member Types have been translated into VCL Property Types
      • Structure member Flags have been converted into BCB TSet<>'s
      • Structure member Flags have automatic text representation's
      • Structures have Automated Error Checking
      • Structures within Structures have been enhanced
      • Additional functionality (when required) includes :-

        • Multiple Structures are manage automatically by a single BCB component
        • Variable-Length Structures are managed automatically by a single BCB component

    • Each DirectX Interface has been converted into a single BCB component, with many enhancements :-

      • Interfaces to DirectX are automatically Created by the component
      • Interfaces to DirectX are automatically Destroyed by the component
      • Interface functions have been translated to BCB methods
      • Interface function parameters have been renamed to remove "Hungarian Notation"
      • Interface function parameters have been translated into VCL Parameter Types
      • Interface function parameters that are redunant have been removed
      • Methods have Automated Error Checking
      • Additional functionality (when required) includes :-

        • Certain interfaces can be created automatically, for example :-
          • A DirectDrawSurface can be created from a .BMP file
          • A DirectSoundBuffer can be created from a .WAV file

        • Methods automatically call corresponding BCB events, for example :-
          • TDx_Draw::Create() calls TDx_Draw::OnCreate() when it's successfully created it's internal interface.
          • TDx_Draw::Destroy() calls TDx_Draw::OnDestroy() just prior to destroying it's internal interface.

        • Interface Callback Functions have been translated into easy to use BCB Events, for example :-
          • TDx_Draw::DDEnumerate() calls TDx_Draw::OnDDEnumerate() for each device enumerated.
          • TDx_Draw::EnumDisplayModes() calls TDx_Draw::OnEnumDisplayModes() for each mode enumerated.


    For more information, click :-




    THE TDX_LIBRARY
    Top     Prev



    The table below contains details on the current status of the TDx_Library, and links to more information :-

    LIBRARY DESCRIPTION INFO DEMOS TUTORIALS REGISTER

    The TDx_Library 107 DirectX(tm) components so far Yes Yes Yes Yes

    TDx_Draw_Library 24 DirectDraw(tm) components Yes Yes Yes Yes
    TDx_Sound_Library 17 DirectSound(tm) components Yes Yes Yes Yes
    TDx_Input_Library 29 DirectInput(tm) components Yes Yes Yes Yes
    TDx_Play_Library 14 DirectPlay(tm) components Yes Yes Yes Yes
    TDx_3DI_Library 23 Direct3D Immediate Mode(tm) components Yes Yes No Yes































Top

Welcome |  Latest News |  Tools |  Demos |  Tutorials |  Reference |  Register |  Downloads
FAQ |  Forums |  Feedback |  Mailing List |  Links |  Site Information

This page is Copyright © 2005 BCB-Tools.com Pty. Ltd., Sydney, Australia. All Rights Reserved.
Borland C++ Builder, CBuilder, etc are Trademarks of Borland Corporation.
DirectX, DirectDraw, Windows, etc are Trademarks of Microsoft Corporation.