Italian CallSubDelayed2

Fulvio75

Well-Known Member
Licensed User
Ciao, il CallSubDelayed posto all'interno di una Classe chiama una sub dentro in un modulo?
Mi da errore durante la compilazione:

CallSubDelayed2(BlueTooth,\
shell\src\af\software\OBD2\connectionref_subs_0.java:475: error: cannot find symbol
connectionref.__c.runVoidMethod ("CallSubDelayed2",__ref.getField(false, "ba"),(Object)((connectionref._bluetooth.getObject())),(Object)(BA.ObjectToString("Initialize_ECU_Connection")),(Object)(__ref.getField(false,"_actref" /*RemoteObject*/ )));
^
symbol: method getObject()
location: variable _bluetooth of type bluetooth
1 error
 

Sagenut

Expert
Licensed User
Longtime User
Il CallSubDelayed credo funzioni solo indicando una Activity come primo parametro.
 

Sagenut

Expert
Licensed User
Longtime User
Per chiamare una Sub di un modulo comunque ti basta fare
B4X:
Modulo.Sub
passando gli eventuali parametri che imposterai nella Sub.
PerΓ² non ho provato la chiamata da dentro una Classe.
 

Fulvio75

Well-Known Member
Licensed User
Per chiamare una Sub di un modulo comunque ti basta fare
B4X:
Modulo.Sub
passando gli eventuali parametri che imposterai nella Sub.
PerΓ² non ho provato la chiamata da dentro una Classe.
devo chiamarla con il delay e si trova in un modulo
 

Sagenut

Expert
Licensed User
Longtime User
Il CallSubDelayed serve solo ad attendere che l'Activity dove risiede la Sub sia pronta prima di effettuare la chiamata.
Ma se chiami una Sub in un Modulo a che serve?
Oltretutto sarebbe meglio abbandonare i progetti con le Activity e fare solo progetti B4XPages nel 99% dei casi. :)
 

Fulvio75

Well-Known Member
Licensed User
Il CallSubDelayed serve solo ad attendere che l'Activity dove risiede la Sub sia pronta prima di effettuare la chiamata.
Ma se chiami una Sub in un Modulo a che serve?
Oltretutto sarebbe meglio abbandonare i progetti con le Activity e fare solo progetti B4XPages nel 99% dei casi. :)
A ok solo activity
 

Sagenut

Expert
Licensed User
Longtime User
Potrebbe anche sfuggirmi qualcosa, prova a vedere cosa succede chiamando la Sub del Modulo direttamente.
 

Sagenut

Expert
Licensed User
Longtime User
Io ho provato a fare un piccolo test e da una classe sono riuscito a chiamare una Sub in un altro modulo.
 

Fulvio75

Well-Known Member
Licensed User
Ovviamente, meglio verificare prima che la Sub da chiamare funzioni bene!
Dal modulo di classe a modulo normale da sempre l'errore di compilazione perΓ² Γ¨ la callsubdeleyed2(nome modulo,"nomesub", parametro)
Non Γ¨ il nome modulo che lo incasina
 

Fulvio75

Well-Known Member
Licensed User
Alura facci vedere come lo chiami usando CallSubDelayed2 (possibilmente non solo questa riga)

con ResumableSub funziona meglio 😁 😁 😁 😁


'inizializzo la connessione alla ECU
wait for (BlueTooth.Initialize_ECU_Connection(Me,ELM327Connection)) complete (ECUInit As Boolean)

Sub Initialize_ECU_Connection(ActRef As Object,ELM327Connection As ConnectionRef) As ResumableSub

Codice.................
Return True

end sub

😁😁😁😁😁😁😁😁😁😁😁😁😁
 

Fulvio75

Well-Known Member
Licensed User
ErgoLO hai risolto, giusto?
Si, visto che sei un pozzo di scienza :):):) ti chiedo una info, magari hai giΓ  fatto una cosa del genere...
Ho una stringa hex devo trasformarla in bin 0100101 come si fa'?
 

Lello1964

Well-Known Member
Licensed User
Longtime User
 
Top