GS-Zone

con cirujia Ir al Indice

Moderadores: Moderadores de Argentum, Especialistas de Argentum, Especialistas de Programación

3

Nota » 25 Ago 2011 22:17

Bueno como siempre yo viendo que cosa nueva le puedo meter a mi ao mod twist... jaja :P, me encontre con este post: ft63130_cirujia_por_formulario.html
Tuve varios problemas pero viendo el código detalladamente los pude solucionar, hasta que me encontre con algo que realmente no tengo ni idea de como solucionarlo:
Cuando probé el comando, andaba todo perfecto hasta que hice click en uno de los botones, me tiro un runtime de 'Object required'. Probé poniendo el Option Explicit arriba de todo y me dice que falta declarar la variable 'engine' en este código, y noté que las palabras que le siguen tampoco estan declaradas:


  1. Call engine.GrhRenderToHdc(HeadData(Actual).Head(3).GrhIndex, Head.Hdc, 5, 5)


Y esto es actualizado en varios lugares, me di cuenta que es para que aparezca la cara actual en el picturebox, tengo otra forma de hacerlo pero es muy complicado :S, quisiera saber si me pueden ayudar arreglando o mejorando este código porque no tengo ni idea de las funciones que tiene puestas.

Gracias de antemano.
:)

EDIT: probé cambiando el código anterior por este:


  1. Call DrawGrhtoHdc(frmCabezas.Head.Hwnd, frmCabezas.Head.Hdc, HeadData(Actual).Head(3).GrhIndex, 5, 5)


Y ahora me tira: El tipo de argumento de ByRef no coincide, y me marca el anteúltimo 5 :?


Si me dan algún tipo de solución, se los agradecería.
Aprendiendo
15
Newbie [3]
Registrado: Años de membresíaAños de membresíaAños de membresía
Ubicación: Buenos Aires, Argentina.
Mensajes: 96

Nota » 25 Ago 2011 23:34

No tengo code para codear.
Pasame la funcion DrawGrhToHDC.

Y creo que el problema es un BOLUDEEE
Proba haciendo esto

Se arregla a lo negro batata, mira:

Enves de:
  1. Call DrawGrhtoHdc(frmCabezas.Head.Hwnd, frmCabezas.Head.Hdc, HeadData(Actual).Head(3).GrhIndex, 5, 5)


Pone:
  1. Call DrawGrhtoHdc(frmCabezas.Head.Hwnd, frmCabezas.Head.Hdc, (HeadData(Actual).Head(3).GrhIndex), 5, 5)


El problema es que el DrawGrhToHDC solo acepta LONG en el GrhIndex y el GrhIndex ese que le pasas es un Integer entonces te tira ese error :P.
Con los () se arregla ^^

Jaja, fijate si eso funciona xD
Última edición por MaTeO el 25 Ago 2011 23:36, editado 2 veces en total

Usuario Registrado
127
Aprendiz [7]
Registrado: Años de membresíaAños de membresíaAños de membresíaAños de membresía
Mensajes: 491
Aportes: 11

Nota » 25 Ago 2011 23:51

Jajaja, aca esta el sub:

  1. Sub DrawGrhtoHdc(hWnd As Long, Hdc As Long, Grh As Integer, SourceRect As RECT, destRect As RECT)
  2.     If Grh <= 0 Then Exit Sub
  3.    
  4.     SecundaryClipper.SetHWnd hWnd
  5.     SurfaceDB.Surface(GrhData(Grh).FileNum).BltToDC Hdc, SourceRect, destRect
  6. End Sub


y me sige tirando el mismo error, aún con los paréntesis, el GRH lo veo en integer, no en long :S

Gracias por responder :ok:

EDIT: cambié el valor de GRH a Long, y me tiró error en otros códigos que tambien usaban el draw, usé la solución que vos me dijiste, donde me tiró error de ByRef, le puse los parentesis (tuve que cambiar 4 o 5) peroo cuando llegé al último (el de mi problema) me siguió tirando el mismo error de ByRef, marcando el anteultimo 5, y ya tiene los parentesis puestos! No puedo salir de este error ¬¬

Noté que sin los parentesis me tira el error marcando 'GrhIndex', y con los parentesis me tira error en el '5'. No se me ocurre solución..


Solucionado: saqué el código que genera las cabezas de aca: ft16293_eleccion_de_cabezas_al_crear_personajes.html y la verdad me anda de maravillas 8-) ya pueden cerrar el tema. Gracias.
Aprendiendo
15
Newbie [3]
Registrado: Años de membresíaAños de membresíaAños de membresía
Ubicación: Buenos Aires, Argentina.
Mensajes: 96


Volver a Otras versiones

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados