Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.lang.visual-basic > #19405

Re: VB.NET - Creare DLL

Newsgroups it.comp.lang.visual-basic
Date 2018-07-24 15:58 -0700
References <pj7u4q$ikg$1@dont-email.me>
Message-ID <a73a9f3b-f59f-46cf-b5d8-e6bb2c77f167@googlegroups.com> (permalink)
Subject Re: VB.NET - Creare DLL
From Luca D <antaniserse@yahoo.it>

Show all headers | View raw


On Tuesday, July 24, 2018 at 9:19:55 PM UTC+2, Ettore wrote:
> Buonasera a tutti . (PROVO a CHIEDERE)
> Sto facendo un programma di AstroCalcolo .
> Devo calcolare il valore di una serie di lunghi dati (Teoria VSOP87) .
> Quindi per evitare, ho pensato che mettere i dati in una libreria esterna

"evitare" cosa? 
Perchè OK la libreria esterna, ma se ha una singola classe con una singola funzione, se non pensi di riutilizzarla in altri programmi, tanto vale che per il momento la lasci nell'eseguibile principale

>    Public Function EarthL00(ByVal t2kJDEMIL As Double)

Se puoi, definisci sempre il tipo di ritorno... certi default di VB.NET, specie se usi il profili da "vecchio sviluppatore VB" di Visual Studio, sono un po' troppo disinvolti, danno solo brutte abitudini; immagino che EarthL00 alla fine restituisca un altro Double?

A parte questo, se dimentichi per un momento il discorso libreria esterna, e immagini di chiamare questa funzione come fosse parte del programma principale, qual'è il tuo dubbio?! Perchè il messaggio di errore mi pare abbastanza chiaro:

> Non capisco come prende il valore "t2kJDEMIL" la libreria.
> Nel programma. ..................
> txtEarthL00.Text = Add.EarthL00
> Su EarthL00 , appare righetta rossa. Dicendo che l'argomento non e' stato 
> specificato per il parametro "t2kJDEMIL" 

Hai definito una funzione che ha bisogno di un parametro IN INPUT, un numero a virgola mobile, quindi glielo devi passare ogni volta che la chiami

Dim temp As Double = Add.EarthL00(<il tuo numero di partenza>)
txtEarthL00.Text = temp.ToString("F14")

Nota che, casomai avessi impostato da un'altra parte il valore in una variabile che si chiama "t2kJDEMIL", ovvero come il parametro, è del tutto ininfluente, viene ignorata; per come ha definito l'intestazione della tua funzione, lo devi sempre passare esplicitamente


A quel punto, che tutto questo sia dentro o fuori la tua DLL esterna, non cambia nulla, il funzionamento è lo stesso.

Back to it.comp.lang.visual-basic | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

VB.NET - Creare DLL "Ettore" <ettor50@nomail.com> - 2018-07-24 21:19 +0200
  Re: VB.NET - Creare DLL Luca D <antaniserse@yahoo.it> - 2018-07-24 15:58 -0700
    Re: VB.NET - Creare DLL "Ettore" <ettor50@nomail.com> - 2018-07-25 16:27 +0200
    Re: VB.NET - Creare DLL [SOLUIZIONE] "Ettore" <ettor50@nomail.com> - 2018-07-25 19:48 +0200
      Re: VB.NET - Creare DLL [SOLUIZIONE] "Ettore" <ettor50@nomail.com> - 2018-07-25 19:55 +0200
      Re: VB.NET - Creare DLL [SOLUIZIONE] Luca D <antaniserse@yahoo.it> - 2018-07-25 14:56 -0700
        Re: VB.NET - Creare DLL [SOLUIZIONE] "Ettore" <ettor50@nomail.com> - 2018-07-26 19:52 +0200
          Re: VB.NET - Creare DLL [SOLUIZIONE] Franz_aRTiglio <franzgol@N0SPAMtin.it> - 2018-07-26 20:38 +0200
          Re: VB.NET - Creare DLL [SOLUIZIONE] Luca D <antaniserse@yahoo.it> - 2018-07-26 15:17 -0700

csiph-web