Novità

NUOVO AMBIENTE SCRIPT AREA TECNICA

  • Creatore Discussione Creatore Discussione LuigiB
  • Data di inizio Data di inizio
li discutono sulla registrazione di componenti creat con twinbasic , il nostro invece è un componente scritto in codice manaeged reso visibile a com che si registra con un utility apposta (regasm) e non regsvr32 come i componenti com "veri" ,
Da queste eserienze mi sembra che la dll tutto somato i sia subito registrata a tutti , il problema era sorto dol primo progetto di test che aveva gia la referenza dentro , da quando lo metto senza referenza credo che la cosa sia migliorata.
Io steso se apro il progetto senza referenza mi trovo nelle condizioni di doverla mettere , faccio salva e non c'è manoc bisogno di chiudere

tutt iquesti errori dovuti alla referenza non presente

Vedi l'allegato 2252482

scompaiono appena la si selezioan da qui

Vedi l'allegato 2252483

si preme salva senza bisogno mancodi chiudere

gli errori scompaiono e si puo mandare in run tranquillamente

Vedi l'allegato 2252484

se nonostante questo in fase di run ddovesse uscire il messaggi oINTERFACCCIA NON REGISTRATA è perche uno ha registrato una dll vecchia , quella nuova che espone a com nuove classideve essere riregistrata daccapo , ma solo se le modifiche che ho fatto coinvolgono nuovi oggetit viidbili a com , perche se le modifiche riguardano codice di procedure che gia erano viste la riregistrazione non è necessaria , percio ho deto di rifarla solo quando lo ssuggerisco io che so quali modifiche ho apportato.
Buongiorno Luigi, scusa se ti ho fatto leggere qualcosa che si é rivelato essere non attinente a quanto scritto ieri sera. Comunque, alla fine della fiera, e‘ sí fastidioso ma non è poi cosí bloccante. Bisognerà fare dei passi operativi che forzano tB (nel maggior numero di casi) a vedere il progetto nella maniera corretta. Integrando nell’attuale modo di fare le operazioni correttive necessarie per arrivarci.
 
ciao Rookie , non problem mica ho dovuto leggere la divina commedia , in quel post si evidenziavano i problemi che com ha da sempre , ovvero le possibili diverse registrazioni dello stesso componente che creano casini nel registro di windows, non è il caso nostro , la nostra dll è prodotta sempre con lo stesso CLSID per questo a meno di non aggiungere nuovi oggeti visibili a com (che aggingono nuovi CLSID) non è necessario riregistrarla ogni volta che c'è un aggiornamento.
LA cosa strana è che sia a Legend che a Tom all'inizio gli funzionava solo a 64 bit e poi sono riusciti a farla girare a 32 .. questo punto rimane oscuro perche io l'ho sempre usata a 32 con twinbasic senza problemi , si puo usare anche a 64 comunque visto che come avevo detto in precedenza è compilata con l'opzione any cpu
 
ciao Rookie , non problem mica ho dovuto leggere la divina commedia , in quel post si evidenziavano i problemi che com ha da sempre , ovvero le possibili diverse registrazioni dello stesso componente che creano casini nel registro di windows, non è il caso nostro , la nostra dll è prodotta sempre con lo stesso CLSID per questo a meno di non aggiungere nuovi oggeti visibili a com (che aggingono nuovi CLSID) non è necessario riregistrarla ogni volta che c'è un aggiornamento.
LA cosa strana è che sia a Legend che a Tom all'inizio gli funzionava solo a 64 bit e poi sono riusciti a farla girare a 32 .. questo punto rimane oscuro perche io l'ho sempre usata a 32 con twinbasic senza problemi , si puo usare anche a 64 comunque visto che come avevo detto in precedenza è compilata con l'opzione any cpu
Dunque, bisogna analizzare gli elementi comuni tra un progetto 32-bit funzionante ripetutamente in modo regolare (tipo i tuoi) e un altro progetto totalmente omologo funzionante (tipo quelli di iLegend Tom, che hai menzionato), potrebbe emergere qualcosa di comune e determinante, per esempio un componente controintuitivo da aggiungere in ogni progetto che prevede l'uso di una dll come la tua, che forza la lettura corretta delle dipendenze, nel setting...
 
ipotesi troppo articolata... se c'è davvero qalcosa è nel sistema operativo .. SE...
 
Si è un ginepraio.

Inizialmente avevo funzionanti solo le prove fatte a 64.

Poi adesso, l'ultima versione della dll funziona solo a 32.

Dopo aver controllato e ricontrollato la registrazione, aperto, chiuso, salvato ecc. ecc.

Dunque qualcosina che non va c'è. (forse anche per colpa tutta mia).

Dopo averle provate tutte ed avere esperienza di tutto quanto ha scritto, ILegend, Genios ...

Tenterò di disinstallare, pulire il registro di Win10 e ricominciare dal principio.

:)
 
Ultima modifica:
CONTINUA A DARMI ERRORE INTERFACCIA NON REGISTRATA
DOPO CHE DO OK

Immagine.jpg
 

Allegati

  • ARCHIVIO LOTTO.jpg
    ARCHIVIO LOTTO.jpg
    331,2 KB · Visite: 15
ciao ho provato a fare un semplice test
non riesco a scrivere
eventuali suggerimenti
mettere sempre l ultima Dll al post 1
stamane ne ho scaricate 3 per aggiornare ,
Inserire una cartella con gli script fatti da luigi
ho provato ad usare le funzioni , le ho dichiarate come struct ( il suggeritore è fenomenale, poi mi perdo
un esempio sotto mano almeno finchè non si memorizza il tutto

se volessi scrivere una funzione da utilizzare sempre non solo per lo script dove la devo scrivere ? non vorrei fare casino con i moduli

ecco la mia funzione SiglaRuote(R) eString
Function SiglaRuota(R As Variant) As String
Dim sr As String:sr = ",BA,CA,FI,GE,MI,NA,PA,RM,TO,VE,NZ"
Dim Ar() As String
Ar = Split(sr, ",")
Return Ar(R)
End Function
'-------------------------------------------------
Function MyString(n As Long, sChar As String) As String
Dim s As String: s = ""
Dim i As Long
For i = 1 To n
s = s & sChar
Next
Return s
End Function

sarebbe meglio sempre inserire la funzione per la restituzione dell errore?
capisco che sono domande banali,e, noiose , ma se non capisco poi non imparo purtroppo.

che ne pensate se ci fermiamo un po e cerchiamo di studiare quello che abbiamo
?
tanto luigi credo che hai gia scritto quasi tutto .
ovviamente ascoltiamo anche il parere degli altri.

P.S: prima gli script li sapevano fare in pochossimi
con spaziometria il mondo è cresciuto perche
C'era un prof che ha paasato tempo a spiegare ;)
 
Se sei arrivato li , vuol dire che sei arrivato 😃👍
Io con l ultimo aggiornamento non mi funzia più.
Cmq credo di riuscire a scrivere qualche funzione ugualmente anche ae non riesco a testarla.
 
ciao
ilegend le function molte function sono qui
Codice:
/TestConsumer/Sources/Moduli/Utenti/Lotto/ModLotto.twin
/TestConsumer/Sources/Moduli/Utenti/Generici/ModUtilityGiochi.twin
potresti scrivere la
stringaEstratti
 
Ultima modifica:
Stringa estratti ho visto che c è.
Grazie giomi gentile come sempre 👍
ragazzi le vostre funzioni mettetele in un nuovo modulo , selezioante la voce addmodule quella con l'icona rossa di twinbasic.

inoltre tutti inom idelel funzioni implementatesono scritte nell'help. bisogna darli un osguardo ..
 
proptotipo non funzionante ,
mi sa , che non ci ho capito ancora molto
Codice:
Dim p As Long
Dim aN(5) As Variant

     For p = 01 To 05
         aN(p) = c.Estratto(c.EstrazioniArchivio, 1, p)
      Next
     Call MsgBox(c.StringaNumeri(aN, ".", True, True))
 
ciao giomi non so se ti serviva stringaestratti
ho provato cosi
allora fatta velocemente, manca la gestione degli errori e sicuramente ho scritto troppo codice quindi non è ottimizzato

ecco qui , a me sembra funziare :)
Codice:
Public Sub MyScriptRoutine()
' IN QUESTA ROUTINE VA SCRITTO IL PROPRIO CODICE COME SE FOSSE LA SUB MAIN DI SPAZIOMETRIA
' ATTENZIONE NON CAMBIARE NOME ALLA ROUTINE
Dim r As Long
Dim IdEstr As Long
IdEstr = EstrazioneFin
r = 1
Call MsgBox(StringaEstratti(IdEstr,r,",",False),vbOKOnly,"informatin")
Call MsgBox(StringaEstratti(IdEstr,r),vbOKOnly,"informatin")
End Sub
Function StringaEstratti(idestr As Long,r As Long,Optional sScharSep As String = ".",Optional Formato As Boolean = True,Optional idArch As Integer = 0) As String
    Dim p As Integer,e As Integer,s As String
    ' If sScharSep = "" Then sScharSep = "."
    s = ""
    If Formato = True Then
        For p = 1 To 5
            e = cScript.Estratto(idestr,r,p,idArch)
            s = s & Format2(e) & sScharSep
        Next
    Else
        For p = 1 To 5
            e = cScript.Estratto(idestr,r,p,idArch)
            s = s & e & sScharSep
        Next
    End If
    s = Left(s,Len(s) - 1)
    Return s
End Function
Function Format2(n As Integer) As Variant
    Dim b As Variant
    b = n
    If b > 0 And b <= 9 Then
        b = "0" & b
    End If
    Return b
End Function
 
ATTENZIONE NUOVO AGGIORNAMENTO CON PULIZIA REGISTRO PER CHI HA AVUTO PROBLEMI E REGISTRAZIONE AUTOMATICA

Visto i problemi riscontrati ho realizzato un utility apposta per chi non vuole eseguire i passaggi manuali specie quelli di rimozione delle chiavi
nel registro di windows allo scopo di ricreare uan situazione pulita prima della nuova registrazione.





la funzione DEREGISTRA crea un file bat dal nome Elimina.bat , lanciare questo file con diritti di amministratore per pulire i lregistro

1675373459357.png
 
Ultima modifica di un moderatore:

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 23 novembre 2024
    Bari
    33
    80
    86
    52
    25
    Cagliari
    67
    57
    59
    05
    80
    Firenze
    31
    32
    58
    88
    77
    Genova
    40
    39
    23
    36
    81
    Milano
    28
    58
    45
    25
    38
    Napoli
    20
    82
    23
    44
    57
    Palermo
    76
    56
    88
    62
    31
    Roma
    12
    81
    59
    74
    72
    Torino
    46
    53
    72
    45
    23
    Venezia
    04
    12
    42
    64
    20
    Nazionale
    63
    44
    78
    10
    55
    Estrazione Simbolotto
    Torino
    43
    42
    12
    39
    22

Ultimi Messaggi

Indietro
Alto