![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
Pasar estructura Type de delphi a Builder..
Saludos acá nos seguimos trasnochando con Builder...
![]() Estuve intentado utilizar una componente de Delphi en Builder, y finalmente pude hacer que el compilador me reconozca el componente... Pero ahora no puedo invocar a la funcion porque debo mandar parámetros que estan escritos en delphi: La funcion es: Código:
function DumpRomBios(out Dump: TRomBiosDump; Method: TRomDumpMethod = rdmAutomatic; Timeout: Longword = 5000): Boolean; Código:
type
PRomBiosDump = ^TRomBiosDump;
TRomBiosDump = record
ByteArray: array [0..RomBiosDumpSize - 1] of Byte;
end;
type
TRomDumpMethod = (
rdmAutomatic, // Autodetect OS type and use proper method
rdmGeneric, // Dump with external 16bit program (Win32)
rdmMemory, // Dump from process' address space (Win9x)
rdmPhysical, // Dump from physical memory object (WinNT)
rdmDevMem // Dump from memory device /dev/mem (Linux)
);
Espero puedan darme una mano con esto... Un Saludo. Pd: el archivo completo esta al final de este hilo (BiosHelp.Pas) http://clubdelphi.com/foros/attachme...7&d=1369763039 |
|
#2
|
||||
|
||||
|
Cita:
Una aproximación podría ser: Código:
struct TRomBiosDump {
unsigned char ByteArray[RomBiosDumpSize];
} *PRomBiosDup;
typedef enum TRomDumpMethod {
rdmAutomatic, // Autodetect OS type and use proper method
rdmGeneric, // Dump with external 16bit program (Win32)
rdmMemory, // Dump from process' address space (Win9x)
rdmPhysical, // Dump from physical memory object (WinNT)
rdmDevMem // Dump from memory device /dev/mem (Linux)
} RomDumpMethod;
![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#3
|
|||
|
|||
|
Gracias eficsa, a ese paso y por toda la ayuda que me hiciste creo te estas convirtiendo en mi "cibermentor" de Builder++
![]() Con esos ejemplos pude entender mejor los "type" de delphi... y la llamada a la función en Builder me quedó asi: Código:
bool result; struct TRomBiosDump Dump; union TRomDumpMethod; TRomDumpMethod=rdmAutomatic; result=DumpRomBios(&Dump,TRomDumpMethod,5000); -: "Cannot convert 'TRomBiosDump*' to 'TRomBiosDump'... Sé que indica que no puede convertir un "puntero a struct" en un "struc" y lo intente cambiando esto en la unión, pero creo que el detalle esta en la llamada de delphi:Código:
function DumpRomBios(out Dump: TRomBiosDump; Method: TRomDumpMethod = rdmAutomatic; Timeout: Longword = 5000): Boolean; Un saludo. |
|
#4
|
||||
|
||||
|
Hola Novatin.
Fijate si te funciona de este modo: Código:
...
struct TRomBiosDump {
unsigned char ByteArray[RomBiosDumpSize];
} *PRomBiosDup;
typedef enum {
rdmAutomatic,rdmGeneric,rdmMemory,rdmPhysical,rdmDevMem
} TRomDumpMethod;
...
{
bool result;
struct TRomBiosDump Dump;
TRomDumpMethod RomDumpMethod = rdmAutomatic;
result = DumpRomBios(Dump, RomDumpMethod, 5000);
...
![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#5
|
|||
|
|||
|
Ahora si ya no salto error!
![]() Con esto ya tengo para jugar con el componente de Delphi... lo que me dificulta es que el mismo no tenga una ayuda mínima... pero ya de a poco también aprendo un poco de Delphi, por lo pronto estoy haciendo "hello worlds" con FreePascal.. ![]() Saludos y Gracias por todo ecfisa. |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| pasar codigo de delphi a c++ Builder | rxaxx9 | C++ Builder | 2 | 13-05-2012 06:27:17 |
| Could not convert variant of type (Null) into type (Integer) | Alejo15x | Varios | 2 | 30-11-2010 17:35:50 |
| Programando con Delphi, error en type, maskedit | sizne | OOP | 0 | 11-03-2010 07:27:44 |
| Comando TYPE del DOS y DELPHI con WinExec. | manueljgc | Varios | 3 | 29-12-2008 20:24:17 |
| Estructura de un proyecto en delphi | mosorio | Varios | 0 | 16-06-2004 12:57:19 |
|