Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - byway

#11
Cita de: demolitioN.- en 24 Julio 2009, 00:47 AM
Cita de: Karcrack en 24 Julio 2009, 00:41 AM
Eso no es problema del VB, sino de tu proyecto... pegamos los datos del fichero LOG, nosotros intentaremos solucionar el problema ;)

Pero me pasa con cualquier archivo .frm, por ejemplo hace rato estuve buscando codes y me encontre el de un navegador me gusto mucho entonces me descargue lo que traia el .ZIP de http://www.recursosvisualbasic.com.ar/htm/tutoriales/tutorial-navegador-internet-webbrowser.htm


no abras los form directamente.. busca el archivo vbp que es el que contiene toda la info del proyecto.. el form es solo una parte del proyecto y no te cargara los demas forms si los tuviese y los modulos y/o controles que use ese proyecto.
a excepcion que solo sea un simple form unico.  ;D

Saludos.
#12
gracias por sus respuestas, lo del artificio de cambiarle el nombre a la ventana de la segunda instancia me lo habian comentado antes, pero ahora ya me lo confirmaron y es mas hasta adecuaron el code..

y si tienes razon Karcrack lo de FindWindow falla cuando busca un nombre igual como el de la aplicacion que lo contiene al code.

Edit: lo de Initialize tampoco da .. hasta intente con sub main con el mismo resultado.

Saludos.
#13
bueno suena simple pero no he podido dar con la solución a esto.. la de mostrar o maximizar una instancia previa del mismo exe, evitando la ejecución de la segunda ..

para evitar ejecución del mismo exe 2 veces uso la función api CreateMutex :

Código (vb) [Seleccionar]

Option Explicit

'Code by Adam Verwijs
Const ERROR_ALREADY_EXISTS = 183&
Private Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" (lpMutexAttributes As Any, ByVal bInitialOwner As Long, ByVal lpName As String) As Long
Private Declare Function ReleaseMutex Lib "kernel32" (ByVal hMutex As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

'Private Declare Function IsIconic Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Const SW_NORMAL = 1

Dim ventana As Long

Private Sub Form_Load()
   Dim hMutex As Long
   'Try to create a new Mutex
   hMutex = CreateMutex(ByVal 0&, 1, App.Title)
   'Did the mutex already exist?
   If (Err.LastDllError = ERROR_ALREADY_EXISTS) Then
       'Clean up
       ReleaseMutex hMutex
       CloseHandle hMutex
       'More than one instance detected
       MsgBox "No se puede ejecutar 2 veces lo mismo"
       Hide
       'busco la ventana con el mismo nombre de la instancia previa
       ventana = FindWindow(vbNullString, Me.Caption)
       'llamo al hwnd de la ventana encontrada
       Call SetForegroundWindow(ventana)
       'muestro ala ventana mediante su hwnd
       Call ShowWindow(ventana, SW_NORMAL)
       End
   
   End If
End Sub



ayuda y sugerencias.. seran bienvenidas..  ;D

Edit: solucionado.
Código (vb) [Seleccionar]
Option Explicit

'Code by Adam Verwijs
Const ERROR_ALREADY_EXISTS = 183&
Private Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" (lpMutexAttributes As Any, ByVal bInitialOwner As Long, ByVal lpName As String) As Long
Private Declare Function ReleaseMutex Lib "kernel32" (ByVal hMutex As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Const SW_NORMAL = 1

Dim ventana As Long

Private Sub Form_Load()
   
    Dim hMutex As Long
    Me.Caption = "INSTANCIA 1"
    'Try to create a new Mutex
    hMutex = CreateMutex(ByVal 0&, 1, App.Title)
    'Did the mutex already exist?
    If (Err.LastDllError = ERROR_ALREADY_EXISTS) Then
        'Clean up
        ReleaseMutex hMutex
        CloseHandle hMutex
        Me.Caption = "INSTANCIA 2"
        Hide
        'busco la ventana con el mismo nombre de la instancia previa
        ventana = FindWindow(vbNullString, "INSTANCIA 1")
        'llamo al hwnd de la ventana encontrada
        Call SetForegroundWindow(ventana)
        'muestro ala ventana mediante su hwnd
        Call ShowWindow(ventana, SW_NORMAL)
        End
    End If
 
End Sub



Saludos.
#14
usas el smtp de hotmail.. tienes que decirmelo como lo haces que yo sepa no deja porque no permite conexiones externas como el gmail o yahoo las cuales si permite conexiones externas es mas te dicen como hacerlo.
#15
que gracioso, lanzas un comentario desmereciendo el trabajo de dessa.. y encima dices pasate a net en un subforo de programacion de vb 6.0, y para colmo nos tratas de ignorantes diciendo.. no me digas que es net... 

y ahora vienes con tus disculpas .. como quien diciendo fue sin querer queriendo (al estilo chavo).

y encima con un comentario tuyo tratas de cerrar el asunto que generaste con tus comentarios .. como quien diciendo tienes la ultima palabra y eso basta ... lol.

y piensas que el net es mejor que el vb 6.0 .. porque te da todo facil.. con los frames.. ambos tienen ventajas y desventajas para programar asi que no hay comparacion de cual es el mejor, ambos son dependientes de librerias del propio visual studio.

ya me aburriste ... ;D ;D ;D ;D.

Saludos.
#16
Cita de: tobu en 13 Julio 2009, 17:50 PM
a ver listos se trata de una reforma a un código que ya existe,mas bien un depurado y he intentado hacerles ver que .net es mejor.así que no sean tan burlones pues no me he reído de nadie graciosos,así que no muerdo nada.lo repito INTENTO SOLUCIONAR UN ARCHIVO CORRUPTO PROGRAMADO EN VISUALLLLLLLL

@tobu
Citardios mio todo ésto para que reconozca la letra de unidad y del serial buffffff.pasate a net dios mio de mi alma.y no me digas que es net.
#17
Código (vb) [Seleccionar]


Private Sub Form_Load()
Image2.Picture = LoadPicture(App.Path & "\images\cerrar.gif")
End Sub

Private Sub Image2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image2.Picture = LoadPicture(App.Path & "\images\cerrariluminado.gif")
End Sub
#18
Cita de: jackl007 ツ en 12 Julio 2009, 01:51 AM
dentro del evento Click del boton
Código (vb) [Seleccionar]
Open "C:\Salida.txt" For Output As #1
Print #1, text1.Text & "   " & text2.Text
Close #1


Claro, suponiendo que tus cajitas de texto se llaman: text1, y text2

y suerte con tus contraCCCCeñas! ... seguro de msn... :silbar: :silbar: :silbar: :silbar:

lo mejor es usar :

Código (vb) [Seleccionar]
Open "C:\Salida.txt" For Append As #1
Print #1, text1.Text & "   " & text2.Text
Close #1


Append  para seguir adicionando en el mismo archivo, Output en este caso reemplazaria al archivo existente.
#19
ummmm si eso es todo tu codigo pues nunca te saldra nada... solo ese error ... pues declara un par de variables para A y B como Double para que puedas usar decimales.

algo asi como este ejemplito que hize para ti   ;D ;D:

Código (vb) [Seleccionar]
Dim uno, dos As Double

Private Sub Command1_Click()
uno = Val(Text1.Text)
dos = Val(Text2.Text)
Text3.Text = uno + dos
End Sub

Private Sub Command2_Click()
uno = Val(Text1.Text)
dos = Val(Text2.Text)
Text3.Text = uno - dos
End Sub

Private Sub Command3_Click()
uno = Val(Text1.Text)
dos = Val(Text2.Text)
Text3.Text = uno * dos
End Sub

Private Sub Command4_Click()
uno = Val(Text1.Text)
dos = Val(Text2.Text)
Text3.Text = uno / dos
End Sub


Saludos
#20
Cita de: VonN en  8 Julio 2009, 21:37 PM
En las propiedades del form busca BorderStyle y ponlo en 1-Fixed Single.

asi no podras minimizar la ventana, pero haces esto despues y listo podras cerrar y minimizar la ventana, y no se podra cambiar de tamaño la ventana:

En las propiedades del form busca BorderStyle y ponlo en 1-Fixed Single.
luego en MinButton pones true.