 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Miguel Angel Torres Master


Registrado: 23 Abr 2006Mensajes: 282Ubicación: Siegen, Alemania
|
Publicado: Sab 06 May, 2006 3:09 pm Asunto: Uso de Async Professional en BCB 6 |
|
|
| Quisiera saber si alguien me pudiese informar si ha usado este paquete en el BCB 6 con éxito, ya que yo he bajado los paquetes instaladores y no he logrado hacerlos funcionar, ya que siempre me bota errores en extensiones .H, que al ingresar componentes de este paquete son agregados a el código más nunca encontradas al momento de compilar; igualmente yo he revisado si al instalar este paquete se generan estos .H en algún lado, buscándolos, mas no los encuentro en ningún lado, lo único que logro encontrar son extensiones .HPP del mismo nombre de las .H, pero de las cuales yo nunca he manejado y no sé para que se emplean, así mismo he tratado de hacer de una manera muy artesanal cambiar la extesion .H a .HPP pero tampoco me funciona, me generan otros errores pidiendome más extensiones .HPP que no encuentra. Así, de esta manera nunca he llegado poder compilar la aplicación más básica, como quien dice, meter solo un componente, por poner un ejemplo, "un boton", y luego compilarlo con éxito.Si alguien me pudiese ayudar con este problema se lo agradecería. Gracias......... |
|
| Volver arriba |
|
 |
jacko Master


Registrado: 03 Sep 2005Mensajes: 287Ubicación: Colombia
|
Publicado: Sab 06 May, 2006 9:20 pm Asunto: APRO |
|
|
Hola Miguel:
De donde bajaste los componentes? Tienes los manuales donde se explica el procedimiento?
Te cuento que he utilizado estos componentes en BCB5, y eran un poco complicados de instalar... de lo que me acuerdo, es que tocaba revisar si eran bpk o bpl, y buscar bien la version, todo haciendolo por Install Packages. No creo que esto se sirva mucho, pero lo que si sé es que en los manuales se explica detalladamente como instalarlos.
Me avisas si lo lograste hacer o te envio los manuales.
Chao! _________________ Dios es real... a menos que se declare entero! |
|
| Volver arriba |
|
 |
Miguel Angel Torres Master


Registrado: 23 Abr 2006Mensajes: 282Ubicación: Siegen, Alemania
|
Publicado: Dom 07 May, 2006 12:00 am Asunto: hola.. |
|
|
Gracias por la info pues te cuento lo que yo hice:
-Primero,Mi version de builder es la 6.
-Segundo, abrir el archivo de paquete A406_D61 ya que es el que deja instalar.
-Tercero, abrirlo ,compilarlo e instalarlo.
-Cuarto, meter un componente en un form de un proyecto, el de "TApdComPort".
-Quinto,Compilar el proyecto.
-Sexto, error pq no encuentra unos ".h"
Si puedes suministrarme alguna info de como poder solucionar este problema te lo agradecería ya que no he podido hasta el momento con eso. Antes de que se me olvide el builder no lo deja instalar por el lado de install packages.
Aquí van los links de todo por si los necesitas:
Documentos:
http://prdownloads.sourceforge.net/tpapro/tpapro_docs.zip?download
Fuente:
http://prdownloads.sourceforge.net/tpapro/tpapro407.zip?download
suerte............. |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Dom 07 May, 2006 1:09 am Asunto: |
|
|
al parecer los componentes son para Delphi
segun esta pagina
http://sourceforge.net/projects/tpapro
http://cvs.sourceforge.net/viewcvs.py/tpapro/apro/packages/
y aqui unos ejemplos para bcb
http://cvs.sourceforge.net/viewcvs.py/tpapro/apro/examples/cbuilder/
y una manera de instalarlo aun que en ingles, pero nada fuera de lo comun
Installation
| Cita: | To install TurboPower APRO into your IDE, take the following steps:
1. Unzip the release files into a directory (e.g., d:\apro).
2. Start Delphi or C++Builder.
3. Add the source subdirectory (e.g., d:\apro\source) to the IDE's library path.
4. Open & compile the runtime package specific to the IDE being used.
5. Open & install the designtime package specific to the IDE being used. The IDE should notify you the components have been installed. |
_________________

Ultima edición por Cesar C. Salazar Gonzalez el Dom 07 May, 2006 1:13 am, editado 1 vez |
|
| Volver arriba |
|
 |
Miguel Angel Torres Master


Registrado: 23 Abr 2006Mensajes: 282Ubicación: Siegen, Alemania
|
Publicado: Dom 07 May, 2006 1:12 am Asunto: ya compila mas no me funciona la serial |
|
|
ya luego de molestar meti el proyecto dentro de la carpeta de source y listo el problema. Ahora el problema que tengo es mayor, estoy enviando por serial lo siguinte:
ApdComPort1->Output=Edit1->Text;
como quien dice q lo que ponga en el edit debe llegar al otro lado. Al otro lado tengo un pic que recibe la info por serial y por el puerto visuliza lo que llega. Con la tipica serial tthread q todos conocemos ("la que se encuentra aqui en el foro") funciona al pelo, con esas es la que siempre he trabajado, pero con este paquete NO SEÑOR, mando un dato, pero al micro me llega otra cosa. Si vos sabes o te das cuenta q estoy cometiendo un error o tienes algo con que ayudarme te lo agradeceria.
Suerte............ |
|
| Volver arriba |
|
 |
jacko Master


Registrado: 03 Sep 2005Mensajes: 287Ubicación: Colombia
|
Publicado: Dom 07 May, 2006 6:18 am Asunto: Comunicacion serial |
|
|
Hola Miguel
Siento mucho no poder explicarte exactamente como se hace, solo espero que lo poco que me acuerde te sirva de algo, ahi va:
Primero debes configurar el componente. Me refiero a velocidad, paridad, bits de stop, Xon, Xoff, etc. Todo esto debe ser igual a la configuracion que tengas en el PIC, para que se puedan "entender" los dispositivos.
Luego, el puerto, por medio del componente, debe abrirse. Obviamente poniendo la propiedad open en true.
Por ultimo, la transmision. Y listo!
Una cosa para tener en cuenta:
Al transmitir una letra, estas transmitiendo el ascii de esa letra. Por ejemplo el 65 de la letra A. Si tienes un panel de leds en el PIC, te va a mostrar el binario del 65, es decir, 01000001.
Y una pregunta:
Cual es la "tipica serial tthread q todos conocemos"? _________________ Dios es real... a menos que se declare entero! |
|
| Volver arriba |
|
 |
Miguel Angel Torres Master


Registrado: 23 Abr 2006Mensajes: 282Ubicación: Siegen, Alemania
|
Publicado: Dom 07 May, 2006 4:20 pm Asunto: Serial... |
|
|
Pues la serial que yo digo es esta, pues es la más usada q yo conozco aqui en colombia en ingeniería:
Clase de la Serial
| Código: |
#ifndef Unit2H
#define Unit2H
//---------------------------------------------------------------------------
#include <Classes.hpp>
//---------------------------------------------------------------------------
class TRead : public TThread
{
private:
protected:
void __fastcall DisplayIt(void);
void __fastcall Execute();
public:
__fastcall TRead(bool CreateSuspended);
};
//---------------------------------------------------------------------------
#endif
|
Cpp de la Serial
| Código: |
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit2.h"
#include "Unit1.h"
#include "math.h"
extern HANDLE hComm;
char InBuff[100];
#pragma package(smart_init)
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
__fastcall TRead::TRead(bool CreateSuspended)
: TThread(CreateSuspended)
{
}
//---------------------------------------------------------------------------
void __fastcall TRead::DisplayIt()
{
unsigned char x=*InBuff; //Los pongo entre 0 y 255
}
void __fastcall TRead::Execute()
{
DWORD dwBytesRead;
FreeOnTerminate = true;
while(1)
{
// LEE DEL PUERTO SERIE
// Y SI HAY ALGO LO VISUALIZA
ReadFile(hComm, InBuff, 50, &dwBytesRead, NULL);
if(dwBytesRead)
{
InBuff[dwBytesRead] = 0;
Synchronize(DisplayIt);
}
}
}
//---------------------------------------------------------------------------
|
Esto en private de la form principal:
| Código: |
HANDLE hComm = NULL;
TRead *ReadThread;
COMMTIMEOUTS ctmoNew = {0}, ctmoOld;
|
Esto para inicializar
| Código: |
DCB dcbCommPort;
// ABRE EL PUERTO
hComm = CreateFile("COM1",
GENERIC_READ | GENERIC_WRITE,
0,
0,
OPEN_EXISTING,
0,
0);
// SI EL PUERTO NO PUEDE ABRIRSE ...
if(hComm == INVALID_HANDLE_VALUE) Application->Terminate();
GetCommTimeouts(hComm,&ctmoOld);
ctmoNew.ReadTotalTimeoutConstant = 0;
ctmoNew.ReadTotalTimeoutMultiplier = 0;
ctmoNew.WriteTotalTimeoutMultiplier = 0;
ctmoNew.WriteTotalTimeoutConstant = 0;
SetCommTimeouts(hComm, &ctmoNew);
dcbCommPort.DCBlength = sizeof(DCB);
GetCommState(hComm, &dcbCommPort);
BuildCommDCB("4800,N,8,1", &dcbCommPort);
SetCommState(hComm, &dcbCommPort);
ReadThread = new TRead(false);
|
Esto para finalizar en el formclose o donde uno quiera
| Código: |
TransmitCommChar(hComm,0);
Sleep(250);
PurgeComm(hComm, PURGE_RXABORT);
SetCommTimeouts(hComm, &ctmoOld);
CloseHandle(hComm);
|
|
|
| Volver arriba |
|
 |
Miguel Angel Torres Master


Registrado: 23 Abr 2006Mensajes: 282Ubicación: Siegen, Alemania
|
Publicado: Dom 07 May, 2006 5:03 pm Asunto: yap.... |
|
|
| No el problema era q yo estaba haciendo mal el casting de la variable a enviar, ya hice varias pruebas y todo funcionó al pelo, gracias por tu info, fue de mucha ayuda, suerte.......... |
|
| Volver arriba |
|
 |
Miguel Angel Torres Master


Registrado: 23 Abr 2006Mensajes: 282Ubicación: Siegen, Alemania
|
Publicado: Lun 08 May, 2006 12:30 am Asunto: más dolores de cabeza con esa componente |
|
|
| Te escribo para comentarte que ahora la parte de comunicación pc - pic funciona perfectamente, pero me dio por hacerla al revés pic - pc, y adivina, nada, el mismo cuento ("no funciona correctamente") y ahora "si se que la codificación de la variable esta bien". Lo que estoy haciendo es exactamente igual a lo que hay en el documento de guia, sacado de un ejemplito del cual comentan que siempre cuando llega algo por seria el evento ApdComPort1TriggerAvail(TObject *CP, WORD Count) se ejecuta y que con el método ApdComPort1->GetChar() puedo obtener lo que va llegando, entonces eso es lo que estoy haciendo; además estoy mandando a un edit lo que llega para ver si funciona la comunicación, pero nada, siempre se mantiene el mismo dato en el edit titilando, y eso es de lo mas raro, pq si estuviera hecha mal la conversion del dato mas que sea ese dato debería cambiar ya que le estoy enviando diferentes informaciones, pero no hace ni eso. La informacion que le estoy enviando, la tomo de un DAC (al que yo modifico para ver como cambia la info ), y luego la envio al pc. Probando la serial de "siempre" la que te envié arribita, pues si me funciona. Ya estoy viendo q para manejar ese componente como que toca estar bendito, y si esto me esta pasando con aplicaciones tan, pero tan básicas, creo que lo otro será un gran dilema para resolver. No sé si me puediese colaborar con algo o alguien me pudiese colaborar. Gracias por su ayuda....., suerte.......... |
|
| Volver arriba |
|
 |
jacko Master


Registrado: 03 Sep 2005Mensajes: 287Ubicación: Colombia
|
Publicado: Lun 08 May, 2006 4:17 pm Asunto: Pues asi se hace... |
|
|
Hola Miguel
Te cuento que asi como lo estas haciendo es que se hace para recibir informacion con el componente: se programa el evento OnTriggerAvail.
Lo que debes tener en cuenta es lo siguiente (aunque puedan parecer muy triviales mis recomendaciones...)
- Count te indica la cantidad de caracteres que se han recibido
- Lo mas comun es hacer un for de 1 a Count y dentro del for insertar el Getchar
- Declaras un caracter y lo igualas a Getchar (c = Puerto->Getchar())
- y pues mandas eso a un edit o donde sea
- cabe recordarte que el edit se vaya aumentando (edit = edit + c)
- otra cosa: desde el pic estas enviando valores ascii? porque si son los binarios 1, 2, 3...8, 10...20, esos no se ven en el edit, como hasta el 30 empieza a reemplazarse por caracteres visibles, o imprimibles como dicen por ahi. (comillas, parentesis, etc)
Bueno, solo queda darte mi bendicion y me avisas cuando te funcione.
Por favor revisas la sintaxis de las porciones de codigo que escribí, eran solamente explicativas. _________________ Dios es real... a menos que se declare entero! |
|
| Volver arriba |
|
 |
Miguel Angel Torres Master


Registrado: 23 Abr 2006Mensajes: 282Ubicación: Siegen, Alemania
|
Publicado: Lun 08 May, 2006 8:00 pm Asunto: ok... |
|
|
| voy a pegarle una buena revisada a eso y te cuento como me fue, de resto lo q dijiste está correcto, tal y como lo enuncian en el ejemplo. Con respecto a lo que envio, si estoy enviando número binarios, pero igual le estoy haciendo un casting a la varible q llega de entrada, de todas maneras voy a cacharrearle más y te cuento todo, suerte............. |
|
| Volver arriba |
|
 |
Miguel Angel Torres Master


Registrado: 23 Abr 2006Mensajes: 282Ubicación: Siegen, Alemania
|
Publicado: Dom 14 May, 2006 2:19 am Asunto: te cuento |
|
|
luego de revisar mucho y estar jugando con el programa, he descubierto cosas raras con eso. Por ejemplo cuando hago solo que mi programa envie datos funciona muy bien, pero cuando fuciono enviar-recibir con lo del OnTriggerAvail y demás, se friega la comunicación, "ah cosa rara", de todas formas seguiré revisando porque no me funciona eso y te estaré comentando, por ahora para comunicación serial bidireccional prefiero seguir usando la clase que te comenté, aunque me extraña mucho que no me funcione con los componentes, así seguiré revisando los otros items de los componentes y espero que esos si me funcionen a la maravilla. Gracias, suerte.... _________________ Entre más sé, sé que nada sé
----------------------------------
Miguel Angel Torres Arredondo
Siegen - Deutschland |
|
| Volver arriba |
|
 |
Miguel Angel Torres Master


Registrado: 23 Abr 2006Mensajes: 282Ubicación: Siegen, Alemania
|
Publicado: Lun 29 May, 2006 3:00 am Asunto: mas información.. |
|
|
Revisando en el foro de ese componente he visto que no soy el único que ha tenido mil problemas con este, igual he estado tratando de mirar bien el código para tratar de hacer algunos cambios para que esto funcione mejor, pero siempre es complicado ya que es un código muy extenso y del cual toca sentarse largas horas a tratar de entender primero para ver que es lo que estaban haciendo para luego poderlo modificar. Bueno espero que si alguien más ha usado este componente exponga sus opiniones y experiencias a ver si podemos lograr sacar adelante a este, ya que en sí a pesar de sus fallos es un muy buen componente. Suerte a todos...... _________________ Entre más sé, sé que nada sé
----------------------------------
Miguel Angel Torres Arredondo
Siegen - Deutschland |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|