Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-08-2016
helio helio is offline
Registrado
NULL
 
Registrado: ago 2016
Posts: 2
Poder: 0
helio Va por buen camino
Unhappy Como compilo este codigo dll en delphi ?

hola amigos, hace poco me enviaron un codigo que necesito para un juego pero estoy muy perdido al respecto, me dieron detalles que es en delphi y el codigo es el siguiente :

Código Delphi [-]
{Function SGM
Parameters:  lpMessage is a pointer for the message you wanna show
dwIcon is the icon value you wanna show (0 = no icon)
dwColor is the color value you wanna show}
procedure ShowGameMessage_Fixed(lpMessage: PChar;dwIcon: byte; dwColor: byte);
var
dwMessage: cardinal;
procedure ShowGameMessage_Real(lpMessage: PChar);assembler;
asm

pushad
mov ecx, [dwMessage]
add ecx, $44
mov bh, [dwIcon]
mov [ecx], bh
add ecx, $47
mov [ecx], bh
add ecx, $47
mov [ecx], bh
mov bh, [dwColor]
mov ecx, [dwMessage]
add ecx, $5C
mov [ecx], bh
add ecx, $31
mov [ecx], bh
add ecx, $E
mov [ecx], bh
add ecx, $39
mov [ecx], bh
add ecx, $10
mov [ecx], bh
popad
jmp @call

@call:
lea edi, [lpMessage]
call [dwMessage]
jmp @rebuild

@rebuild:
mov [dwIcon], 6
mov [dwColor], 2
mov ecx, [dwMessage]
add ecx, $44
mov bh, [dwIcon]
mov [ecx], bh
add ecx, $47
mov [ecx], bh
add ecx, $47
mov [ecx], bh
mov bh, [dwColor]
mov ecx, [dwMessage]
add ecx, $5C
mov [ecx], bh
add ecx, $31
mov [ecx], bh
add ecx, $E
mov [ecx], bh
add ecx, $39
mov [ecx], bh
add ecx, $10
mov [ecx], bh
end;

begin
dwMessage := $00414B80;
ShowGameMessage_Real(lpMessage);
end;


pero no me quisieron ayudar para compilarlo :/ - alguien sabe como puedo hacerlo.

Última edición por Casimiro Notevi fecha: 31-08-2016 a las 12:18:28.
Responder Con Cita
  #2  
Antiguo 31-08-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración

¿Y la pregunta es?
Responder Con Cita
  #3  
Antiguo 31-08-2016
helio helio is offline
Registrado
NULL
 
Registrado: ago 2016
Posts: 2
Poder: 0
helio Va por buen camino
Hola entiendo, cometi el error de no ser practico...
la pregunta final es ¿alguien sabe como puedo empaquetar eso en delphi? , gracias
Responder Con Cita
  #4  
Antiguo 31-08-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Es que no se entiende bien lo que quieres hacer. Para compilarlo solamente debes pulsar control+F9 en el IDE de delphi.
Responder Con Cita
  #5  
Antiguo 31-08-2016
Avatar de BDWONG
BDWONG BDWONG is offline
Miembro
NULL
 
Registrado: nov 2013
Posts: 113
Poder: 11
BDWONG Va por buen camino
Cool

Hola pues si no sabes como crearte una DLL puedes mirar este enlace http://www.ajpdsoft.com/modules.php?...rticle&sid=261

Quedaria asi

Código Delphi [-]
library Funcion;

{ Important note about DLL memory management: ShareMem must be the
  first unit in your library's USES clause AND your project's (select
  Project-View Source) USES clause if your DLL exports any procedures or
  functions that pass strings as parameters or function results. This
  applies to all strings passed to and from your DLL--even those that
  are nested in records and classes. ShareMem is the interface unit to
  the BORLNDMM.DLL shared memory manager, which must be deployed along
  with your DLL. To avoid using BORLNDMM.DLL, pass string information
  using PChar or ShortString parameters. }



{$R *.res}

procedure ShowGameMessage_Fixed(lpMessage: PChar;dwIcon: byte; dwColor: byte);
var
dwMessage: cardinal;
procedure ShowGameMessage_Real(lpMessage: PChar);assembler;
asm

pushad
mov ecx, [dwMessage]
add ecx, $44
mov bh, [dwIcon]
mov [ecx], bh
add ecx, $47
mov [ecx], bh
add ecx, $47
mov [ecx], bh
mov bh, [dwColor]
mov ecx, [dwMessage]
add ecx, $5C
mov [ecx], bh
add ecx, $31
mov [ecx], bh
add ecx, $E
mov [ecx], bh
add ecx, $39
mov [ecx], bh
add ecx, $10
mov [ecx], bh
popad
jmp @call

@call:
lea edi, [lpMessage]
call [dwMessage]
jmp @rebuild

@rebuild:
mov [dwIcon], 6
mov [dwColor], 2
mov ecx, [dwMessage]
add ecx, $44
mov bh, [dwIcon]
mov [ecx], bh
add ecx, $47
mov [ecx], bh
add ecx, $47
mov [ecx], bh
mov bh, [dwColor]
mov ecx, [dwMessage]
add ecx, $5C
mov [ecx], bh
add ecx, $31
mov [ecx], bh
add ecx, $E
mov [ecx], bh
add ecx, $39
mov [ecx], bh
add ecx, $10
mov [ecx], bh
end;

begin
dwMessage := $00414B80;
ShowGameMessage_Real(lpMessage);
end;

exports ShowGameMessage_Fixed;

begin
end.


Si aun asi no puedes te dejo la DLL ya compilada
https://www.sendspace.com/file/r4cf8x
El codigo ha sido compilado con Delphi berlin 10 en un sistema operativo de 32 bits

PD: No la he probado solo la compile eso te queda como tarea.
Saludos....
Responder Con Cita
  #6  
Antiguo 31-08-2016
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Estos niños de hoy en día...
Que curiosos que son, todos vienen al foro con un asm "que le pasaron" y "les dicen que es Delphi" y que es "para un juego" y que se meten en la yerbas de algún dll
¡Que coindicencias!

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Como usar este código? MAXIUM API de Windows 2 05-11-2011 05:07:04
Como implementar este codigo en delphi 7 freddiaz07 Internet 4 16-09-2011 23:34:39
Como Represento Este Codigo bothy Lazarus, FreePascal, Kylix, etc. 2 12-02-2010 07:34:25
como modificar este codigo kurono Varios 9 19-10-2008 19:08:59
Como compilo Pascal ? Markos1970 Varios 6 26-08-2005 01:17:31


La franja horaria es GMT +2. Ahora son las 13:38:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi