DMVC Framework - Invalid class typecast

di il
7 risposte

DMVC Framework - Invalid class typecast

Credo che questo sia un errore noto anche ai programmatori Delphi che non usano DMVC.

Probabilmente dovuto sempre alla tipizzazione forte di Delphi stesso.

Non posso fare una query in santa pace che mi tormenta l'eccezione della classe EInvalidCast

Ecco il codice che mi solleva l'eccezione con il messaggio Invalid class typecast:

var
	Customers: TCustomers;    //Entity della tabella customers
begin
	Customers:= TMVCActiveRecord.SelectOne<TCustomers>('select * from customers where phone = ?',[phone_number],[ftString]);

7 Risposte

  • Re: DMVC Framework - Invalid class typecast

    01/08/2024 - GrandfatherCoder ha scritto:


    Credo che questo sia un errore noto anche ai programmatori Delphi che non usano DMVC.

    Certamente: ogni volta che si fa il cast di un tipo a un tipo che non è compatibile, questo solleva l'errore di Invalid Typecast.

    01/08/2024 - GrandfatherCoder ha scritto:


    Probabilmente dovuto sempre alla tipizzazione forte di Delphi stesso.

    Esattamente, ma vale anche per altri linguaggi, come Java e C#, altrettanto tipizzati.
    Altri linguaggi invece sono più tolleranti, benché probabilmente - pur non segnalando questo problema - qui l'errore evidenzia in modo del tutto plateale che si sta trattando “automobili" per “banane”, quindi anche in assenza della tipizzazione è probabile che il codice non funzioni comunque, se si pensa di trattare un tipo ma in realtà se ne sta ricevendo un altro.

    01/08/2024 - GrandfatherCoder ha scritto:


    Non posso fare una query in santa pace che mi tormenta l'eccezione della classe EInvalidCast

    Qui bisogna capire se la sintassi della query è valida, se il parametro appartiene al tipo espresso, se l'entità TCustomers (anche se io userei il singolare) ha campi compatibili con quelli della tabella, e così via.

  • Re: DMVC Framework - Invalid class typecast

    02/08/2024 - Alka ha scritto:


    Esattamente, ma vale anche per altri linguaggi, come Java e C#, altrettanto tipizzati.

    Certo.Non volevo dire che sia una caratteristica esclusiva dell' Object Pascal.Poi al giorno d'oggi, i linguaggi di programmazione sono più o meno tutti imparentati.

    02/08/2024 - Alka ha scritto:


    Qui bisogna capire se la sintassi della query è valida, se il parametro appartiene al tipo espresso, se l'entità TCustomers (anche se io userei il singolare) ha campi compatibili con quelli della tabella, e così via.

    Ti ringrazio perla dritta.

    Ho risolto il problema,era proprio il dialetto SQL della query ad essere errato: quel codice può andar bene per MySQL o PostgreSQL,ma non per SQLite che attualmente sto utilizzando.

  • Re: DMVC Framework - Invalid class typecast

    Sono passato a WiRL.

    L'ho trovato più adatto alle mie esigenze.

  • Re: DMVC Framework - Invalid class typecast

    05/08/2024 - GrandfatherCoder ha scritto:


    Sono passato a WiRL.

    L'ho trovato più adatto alle mie esigenze.

    E' senz'altro una ottima libreria, anche se detta così non capisco l'utilità di mettere al corrente il forum, mancando una elaborazione della scelta. :)

  • Re: DMVC Framework - Invalid class typecast

    05/08/2024 - Alka ha scritto:


    05/08/2024 - GrandfatherCoder ha scritto:


    Sono passato a WiRL.

    L'ho trovato più adatto alle mie esigenze.

    E' senz'altro una ottima libreria, anche se detta così non capisco l'utilità di mettere al corrente il forum, mancando una elaborazione della scelta. :)

    La razionalità non è il mio forte.;)

  • Re: DMVC Framework - Invalid class typecast

    Per la cronaca ho risolto l'errore per quanto riguarda DMVC.

    Stupidamente nell'Entità avevo dichiarato un campo come String quando nella tabella risultava come DateTime.

  • Re: DMVC Framework - Invalid class typecast

    08/08/2024 - GrandfatherCoder ha scritto:


    Stupidamente nell'Entità avevo dichiarato un campo come String quando nella tabella risultava come DateTime.

    Ottimo!

Devi accedere o registrarti per scrivere nel forum
7 risposte