![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Caramba, como puede llegar a liarse un hilo titulado "¿Ayuda urgente por favor?"
No pensaba meterme, pero ahi va mi opinion.
Es solo mi opinión, aunque estoy dispuesto a respaldarla con código ![]() |
|
#2
|
||||
|
||||
|
Cita:
![]()
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#3
|
||||
|
||||
|
Hola
El que sabe sabe. Y yo que me queje del hilo, y la estoy pasando de perla, aprendiendo de los maestros. Saludos |
|
#4
|
|||
|
|||
|
Parece "Duelo de Titanes"
Alguien tendria la bondad de enseñarme como planear una aplicacion para que se pueda traducir en un futuro a otro idioma ? ( el texto de los botones, menus, etc... ). Escucho que es con los resources, pero de en adelante ni idea tengo de que hacer para lograrlo !
Tambien, lo de la seguridad... si alguien desea darme algunos consejos en como proteger un programa. ( entiendo que un buen crack-ero rompe cualquier programa, pero por lo menos que le cueste trabajo ! ). ( Pregunto aqui, porque este hilo dice mas que los hilos en la seccion de "proteccion" ). - Estaba pensando ayer como a las 3 de la madrugada que si el hace cracks le dicen crack-ero, y que hace pan le dicen panad-ero, y el que trabaja con tapiz le dicen tapic-ero, y el que corta la carne le dicen carnic-ero, entonces, acaso seria correcto decir que - quien es experto en API's es un API-ero ?, - y quien trabaja con tablas sean un Tabl-ero ?, - y quien maneja bien los hilos sera un Hil-ero ? ...y despues de eso, me di cuenta que lo conveniente era acostarme a dormir... ! Saludos a todos !! |
|
#5
|
||||
|
||||
|
Vamos a definir todos y cada uno de los argumentos, creo que en éste punto están todas las ideas pero algunas inconclusas o mal definidas.
Hablamos de los ResourceStrings: La utilizacion o no de éstos es el tema que tanta polémica a formado. Voy a exponer cada uno de los puntos de la forma mas clara posible refiriendome al por qué dije "GUACA" de tales y por que yo evitaré en lo posible hacer uso de los mismos. 1. "Recursos mutilados" quienes les gusta realizar aplicaciones de pocos Kb? Posiblemente sea el argumento más refutado por Uds.; comparé un grupo de compresores, scramblers, y encriptadores; concluí que existen dos que son los mejores, el PECompact fué el mejor para ejecutables normales a grandes. y el mew, el cual utilizo para los archivos más pequeños, éste último es muy bueno y hasta comparable con el upx en aplicaciones medianas. Una de sus características es que posibilita la mutilación de los recursos. No defiendo con ahínco esta posición pues quienes utilizan mew? quienes lo conocen? solo yo?? 1.1. Inmerso en el punto está el hecho de que otros compresores como el upx se rayan al comprimir algunos ejecutables con cadenas de recursos. Para que no pase esto normalmente te dan la opción en un CheckBox que dice "Compress resources" para que el usuario decida hacer un programa (como citaba algúno): "configurable" y cuando éstos datos los ve cualquiera pues los cambia... talvez le pone insultos! yo se que arán con mi programa? si es bueno hasta dónde o que manos llegara? y eso es un tema que deja mucho que desear con respecto a la seguridad (o por lo menos con la integridad de la aplicación), pero claro que es subjetivo a la forma en que el programador plasma sus ideas. Para configurar (repito), lo correcto (creo yo) es un menú, un archivo ini, xml o datos en el registro (que tambien puede ser un hecho polémico). 2. Hablaba del WideString (unicode), una aplicación tiene cierto peso (tamaño), éste en muchos de los casos no nos interesa. Pues hablamos de PCs que antes hubiensen sido consideradas como MainFrames. Pero yo sigo con un pensamiento de ahorro; considero que una aplicacion pequeña que hace muchas cosas tiene los procedimientos bien optimizados, o en lenguaje de maquina o que simplemente interactúa de una forma adecuada con el S.O. Cuando el Güindos lee dichas variables en unicode debe llamar a la API 'UnicodeToUtf8' (claro después de usar APIs como: FindResourceEx, LoadResource, y LoadString para obtener la posicion en memoria donde se encuentra el recurso), como siempre una caja negra! parece estar bastante optimizada pero quién sabe!. Nuestro Delphi tiene su versión: cuando uno hace lo siguiente:
obtiene un ejecutable de 15.5 Kb. y cuando uno hace:
obtiene un ejecutable de 8 Kb. Compruebenlo Uds. mismos! Se preguntarán por qué? Es simple: con la segunda el Compilador genero un programa que llama directamente a la API con una direccion en memoria que contiene la cadena. Con la segunda; primero debe cargar el recurso, ésto lo hace con un procedimiento llamado 'LoadResString' que está en la unidad System. éste procedimiento genera un arbol de llamadas muy interesante: LoadResString FindResourceHInstance DelayLoadResourceModule GetModuleFileName LoadResourceModule GetModuleFileName RegOpenKeyEx ToLongPath GetModuleHandle GetProcAddress GetLongPathName lstrcpyn FindBS lstrcpyn lstrcpyn FindFirstFile FindClose _strlen lstrcpyn _strlen lstrcpyn RegQueryValueEx RegCloseKey lstrcpyn GetLocaleInfo lstrcpyn LoadLibraryEx LoadString SetString LStrToPChar Y que de seguro se me fue un par! 0j0 que solo fueron llamadas, y todo el código (if, then, or, else, operadores ifs anidados) lo obvio, pues no quiero aburrirlos. El unicode es una cosa buena, pero no muy aplicable para todos los casos al igual que esa palabrita reservada que tanto dolor de cabeza nos dá. En las primeras participaciones del hilo ví que hacían referencia a un archivo! un .txt y considero que no lo notaremos, pero qué sucede si se nos vuelve costumbre? si hacemos una aplicacion mediana a grande los mínimos retardos se sumarán y notarán. Pero bueno.. paso al último punto que a propósito es nuevo. 3. Agarré y comparé los recursos que el 'explorer.exe' tiene en la versión para eQuispe; encontré 102 cadenas de recurso (si me equivoque es porque los conté a "dedo") y agarré el 'explorer.exe' de la versión Vista... encontré asombrado 0 (cero), recursos de cadena. Que sucedió?? por que una empresa como Microsoft decidió ya no utilizarlos en sus cadenas? tendrá que ver con aquellos usuarios perrisimos como yo? será más seguro o que? NOTAS: Una de las posiciones mas valederas decía: "...they can be modified without recompiling the program..." a mi no me molesta hacer Ctrl+F9! o si voy a poner algun dato que sirva como configuración pues hago un menu, ini o xml que al final llega a ser la opcion mas "correcta" Otro me decía "...harina de otro costal..." pues yo digo que siempre y cuando dicha harina tenga que ver con la misma familia del trigo vale la pena hecharle un 0j0. MI conclusión con respecto al hilo: pues queda claro lo que yo pienso, al lector amante del Delphi le dejo a su criterio los argumentos adjuntos. Si Ud. piensa que el uso de éstos es el adecuado talvez tenga razón y yo sea (como que si soy) un paranoico ahorrador de bits. El unicode sirve y mucho, pero es aplicable solo en aplicaciones como el µTorrent en las que todo el mundo necesita un archivo de idiomas... y 0j0 que es un archivo adjunto, en ningun momento dejaron al usuario la posibilidad de usar un ResHacker como comentaba en otro post. Programas utilizados para el análisis: Delphi 6 & 7SE, mew11 SE v1.2, ResHacker 3.4, upx 2.03w, Visual Estudio 2005, Güindos eQuispe & Vista Ultimate. Saludos afectuosos amigos de Club Delphi, y lleguemos como alguien decía: lejos !!! |
|
#6
|
||||
|
||||
|
Cita:
// Saludos |
|
#7
|
|||
|
|||
|
Igual que roman, o digo, muy impresionante tu escrito amigo cHackAll, pero dejame entrar un poco en un aspecto que me parece contradictorio.
Para ser precisos, el punto 1.1 de tu comentario. Cita:
Sea dicho todo esto con mucho respeto. Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#8
|
||||
|
||||
|
Amigo Roman, quito la palabra seguridad y la dejo con integridad... pero ese no es el punto y lo dije N veces.
Mi herramienta SI e Delphi. Para aplicaciones normales a grandes me funciona super la VCL, para pequeñas hago mis propios formuilarios con APIs y cosas por el estilo. PD: Algo que me encanta del Delphi a comparacion con otros lenguajes es que puedo meterle assembler. |
|
#9
|
|||
|
|||
|
Cita:
![]() ![]() , Vaya, pues no hago programas que valga la pena violentar......![]() Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| ayuda urgente por favor problema BDE | Rabata | Conexión con bases de datos | 2 | 10-04-2008 19:43:00 |
| ayuda urgente con qreport por favor | ddd_ddd | Impresión | 4 | 30-01-2007 13:03:24 |
| Ayuda por favor es URGENTE | Costeño_sam | Conexión con bases de datos | 3 | 25-01-2007 10:47:24 |
| Ayuda urgente por favor | JulioGO | Varios | 2 | 05-05-2006 17:21:24 |
| ayuda urgente por favor | haffo | Varios | 2 | 01-10-2003 03:00:40 |
|