Newsgroup: it.comp.lang.visual-basic
Titolo: Come cambiare icona .exe^

Ciao, io ho "sempre saputo" che l'icona che prendeva l'eseguibile di un 
programma Vb era quella della form principale.
Adesso pero' pur avendo impostato una icona per la form principale, sono 
stato costretto ad importare un Modulo ed un Documento Correlato.
Quando compilo e creo l'eseguibile, il programma mi crea l'icona che è 
associata al modulo importato (credo). Non c'è un modo per forzare l'icone 
dell'eseguibile?
Grazie 

"Thommino"

project > properties > make > icon
ciao, a.


Ho già impostato in Progetto>Propietà>Crea>Icona l'icona da me voluta. In 
particolare ho scelto quella della Form1 (l'unica form presente nel mio 
applicativo), ma purtroppo quando compilo VB mi prende non so come mai 
un'altra icona che è quella che viene utilizzata da un modulo non fatto da 
me ovviamente.
Non c'è un modo per forzare l'icona del progetto? 

 Non c'è un modo per forzare l'icona del progetto?
moduli che gestiscono l'icona dell'exe ne ho visti pochi, ma forse sapere 
cosa c'e' dentro il modulo potrebbe aiutare.

 cosa c'e' dentro il modulo potrebbe aiutare.
Il modulo č quello per inserire l'interfaccia di 
vola.it
. Poi esiste anche 
un documento correlato ma forse non serve a nulla. (anche x' quest'ultumo 
.res non contiene codice).
----------------------CODE Modulo-----------------------
Option Explicit
Public g_sMsgBoxCaption As String
Public g_sFileDB As String
Public Const g_sTableNotify = "SMS_Inviati"
Public Const g_sTableRecive = "SMS_Ricevuti"
Public Const g_sFieldDest = "Destinatario"
Public Const g_sFieldMitt = "Mittente"
Public Const g_sFieldText = "Testo"
Public Const g_sFieldDateSend = "DataOraInvio"
Public Const g_sFieldOrderId = "ORDERID"
Public Const g_sFieldDateStatus = "DataOraStato"
Public Const g_sFieldStatus = "Stato"
Public Const g_sFieldDateRecive = "DataOraRicevuto"
Public Const g_sFieldReceptionkeys = "ChiaveRicezione"
Public Function CreateNewDataBase() As Boolean
On Error GoTo errHand
CreateNewDataBase = False
Dim Db_NuovoDatabase As Database
Dim Tbl_SMS As TableDef
Dim Tbl_SMSRecive As TableDef
Dim Fld_New As Field
'Usa l'oggetto dimensionato per creare un nuovo database
Set Db_NuovoDatabase = CreateDatabase(g_sFileDB, dbLangGeneral)
'Crea una prima tabella, il cui nome sarą "Impiegati"
Set Tbl_SMS = Db_NuovoDatabase.CreateTableDef(g_sTableNotify)
'Dimensiona i campi per la nuova tabella appena creata
'Aggiunge di fatto i campi dimensionati alla tabella
'Destinatario
Set Fld_New = Tbl_SMS.CreateField(g_sFieldDest, dbText, 20)
Tbl_SMS.Fields.Append Fld_New
'Mittente
Set Fld_New = Tbl_SMS.CreateField(g_sFieldMitt, dbText, 20)
Tbl_SMS.Fields.Append Fld_New
'Testo
Set Fld_New = Tbl_SMS.CreateField(g_sFieldText, dbMemo)
Tbl_SMS.Fields.Append Fld_New
'DataOraInvio
Set Fld_New = Tbl_SMS.CreateField(g_sFieldDateSend, dbDate)
Tbl_SMS.Fields.Append Fld_New
'OrderId
Set Fld_New = Tbl_SMS.CreateField(g_sFieldOrderId & "1", dbText, 20)
Tbl_SMS.Fields.Append Fld_New
'DataOraStatus
Set Fld_New = Tbl_SMS.CreateField(g_sFieldDateStatus & "1", dbDate)
Tbl_SMS.Fields.Append Fld_New
'Status
Set Fld_New = Tbl_SMS.CreateField(g_sFieldStatus & "1", dbText, 5)
Tbl_SMS.Fields.Append Fld_New
'OrderId
Set Fld_New = Tbl_SMS.CreateField(g_sFieldOrderId & "2", dbText, 20)
Tbl_SMS.Fields.Append Fld_New
'DataOraStatus
Set Fld_New = Tbl_SMS.CreateField(g_sFieldDateStatus & "2", dbDate)
Tbl_SMS.Fields.Append Fld_New
'Status
Set Fld_New = Tbl_SMS.CreateField(g_sFieldStatus & "2", dbText, 5)
Tbl_SMS.Fields.Append Fld_New
'OrderId
Set Fld_New = Tbl_SMS.CreateField(g_sFieldOrderId & "3", dbText, 20)
Tbl_SMS.Fields.Append Fld_New
'DataOraStatus
Set Fld_New = Tbl_SMS.CreateField(g_sFieldDateStatus & "3", dbDate)
Tbl_SMS.Fields.Append Fld_New
'Status
Set Fld_New = Tbl_SMS.CreateField(g_sFieldStatus & "3", dbText, 5)
Tbl_SMS.Fields.Append Fld_New
'OrderId
Set Fld_New = Tbl_SMS.CreateField(g_sFieldOrderId & "4", dbText, 20)
Tbl_SMS.Fields.Append Fld_New
'DataOraStatus
Set Fld_New = Tbl_SMS.CreateField(g_sFieldDateStatus & "4", dbDate)
Tbl_SMS.Fields.Append Fld_New
'Status
Set Fld_New = Tbl_SMS.CreateField(g_sFieldStatus & "4", dbText, 5)
Tbl_SMS.Fields.Append Fld_New
'OrderId
Set Fld_New = Tbl_SMS.CreateField(g_sFieldOrderId & "5", dbText, 20)
Tbl_SMS.Fields.Append Fld_New
'DataOraStatus
Set Fld_New = Tbl_SMS.CreateField(g_sFieldDateStatus & "5", dbDate)
Tbl_SMS.Fields.Append Fld_New
'Status
Set Fld_New = Tbl_SMS.CreateField(g_sFieldStatus & "5", dbText, 5)
Tbl_SMS.Fields.Append Fld_New
'Ora aggiunge di fatto la tabella costruita al nuovo database
Db_NuovoDatabase.TableDefs.Append Tbl_SMS
'Crea una prima tabella
Set Tbl_SMSRecive = Db_NuovoDatabase.CreateTableDef(g_sTableRecive)
'Mittente
Set Fld_New = Tbl_SMSRecive.CreateField(g_sFieldMitt, dbText, 20)
Tbl_SMSRecive.Fields.Append Fld_New
'Testo
Set Fld_New = Tbl_SMSRecive.CreateField(g_sFieldText, dbMemo)
Tbl_SMSRecive.Fields.Append Fld_New
'DataOraInvio
Set Fld_New = Tbl_SMSRecive.CreateField(g_sFieldDateSend, dbDate)
Tbl_SMSRecive.Fields.Append Fld_New
'DataOraRicezione
Set Fld_New = Tbl_SMSRecive.CreateField(g_sFieldDateRecive, dbDate)
Tbl_SMSRecive.Fields.Append Fld_New
'Receptionkeys
Set Fld_New = Tbl_SMSRecive.CreateField(g_sFieldReceptionkeys, dbText, 50)
Tbl_SMSRecive.Fields.Append Fld_New
'Ora aggiunge di fatto la tabella costruita al nuovo database
Db_NuovoDatabase.TableDefs.Append Tbl_SMSRecive
Db_NuovoDatabase.Close
Set Db_NuovoDatabase = Nothing
CreateNewDataBase = True
Exit Function
errHand:
MsgBox "Errore creazione DB " & Err.Number & " - " & Err.Description, 
vbCritical, g_sMsgBoxCaption
If Not Db_NuovoDatabase Is Nothing Then
    Db_NuovoDatabase.Close
    Set Db_NuovoDatabase = Nothing
End If
If FileExist(g_sFileDB) Then
    Kill g_sFileDB
End If
End Function
Public Function FileExist(ByVal sFileName As String) As Boolean
'file exist = true else false
Dim i_Res As Integer
On Error GoTo CheckError
FileExist = (Dir(sFileName, vbHidden Or vbNormal) <> "")
Exit Function
CheckError:
 FileExist = False
End Function

 ----------------------CODE Modulo-----------------------
Adesso che guardo il modulo, mi sa tanto che non mi serve proprio a nulla 
avendo io deciso di eliminare tutta la memorizzazione locale degli SMS.
Credo che allora il problema sia tutta nella Dll che ho dovuto caricare per 
gestire:
Public WithEvents ListaMessaggi As VolaSendMessages 

> quest'ultumo .res non contiene codice).
Pero' eliminato quel modulo e quel documento correlato dal mio progetto, 
l'icona dell'eseguibile è tornata ad essere quella corretta.
Problema rientrato anche se con capisco come mai e come l'icona venisse 
forzata.
Grazie 

 Grazie
stupisce molto anche me. quel modulo crea un db e un paio di tabelle, e ha 
una versione di fileexist().
icone non ce ne sono, e non ne setta. mi stupirebbe altrimenti.
piu' probabile la dll. ma allora non capisco come e' strutturato il tuo 
progetto.
vabbe', l'importante e' che ti funzioni.
ciao, a.