Newsgroup: it.comp.lang.delphi
Titolo: Header VST + conversioni da C++ a Delphi

Salve a tutti,
ultimamente mi sono messo nella, per me, "titanica" impresa di convertire
gli header VST (Steinberg) in una versione Delphi degli stessi con il fine,
ovviamente, di scrivere plugin VST con Delphi (anziche' con C++Buider, il
quale continua a darmi errori quando linka i file, bah!).
Vorrei quindi chiedervi se sapete che qualcuno sti facendo (o abbia gia'
fatto) la stessa cosa che sto facendo io ora.
Ho anche un'altra richiesta: e' la prima volta che mi metto seriamente a
convertire degli header da C++ a Delphi. C'e' qualcuno che puo' chiarirmi
alcuni dubbi in proposito a questo tipo di conversioni (magari qualcuno che
ne ha gia' fatte a bizzeffe)? Ci sono certe strutture dati e certe
dichiarazioni di oggetti che non so se ho convertito bene... se qualcuno si
facesse avanti gliene sarei davvero grato.
Ringrazio chiunque voglia rispondermi! :)
Ciao
   Jenner
--------------------------------
Inviato via 
http://usenet.libero.it

 convertire gli header VST (Steinberg) in una versione Delphi degli
<SNIP>
So che c'era un tool che ti aiutava molto (era di Bob Swart? non
ricordo...), prova a cercarlo!
Se hai dubbi posta pure qui sul ng, c'è più di una persona qui che conosce
entrambi i linguaggi...
HTH :-)
--
Andrea /\/\agni
ICQ#: 174108000

 ricordo...), prova a cercarlo!
http://www.drbob42.first-web.net/headconv.zip
Acqua
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Puo' essere che i problemi di linking dipendano dalla versione non
compatibile delle lib.
Se le lib fornite dal VST SDK sono generate da/per il Visual C++, il C++
Builder non le puo' usare in linking.
Se l'interfacciamento e' verso DLL, allora ti puo' essere utile usare il
tool IMPLIB x generare le nuove lib, conoscendo le DLL di riferimento.
Ciao,
Stefano

 entrambi i linguaggi...
Ti ringrazio della risposta...
Uno dei dubbi che ho, durante la conversione, e' come esprimere in Delphi
uno di questi tipi:
enum nometipo
{
  valore1 = 1 << 0,
  valore2 = 1 << 1,
  valore3 = 1 << 2,
  valore4 = 1 << 3,
  valore5 = 1 << 4,
  valore6 = 1 << 5
};
In Delphi lo scriverei cosi':
nometipo=(
  valore1,
  valore2,
  valore3,
  valore4,
  valore5,
  valore6
);
Solo che cosi' perdo i valori assegnati ad ogni elemento dell'enumerato. Ho
pensato che forse e' meglio convertire il tutto in un insieme di costanti
solo che pero' cosi' perdo il tipo di dato.
Che fare quindi?


Solo che cosi' perdo i valori assegnati ad ogni elemento dell'enumerato. 
Le enum sono assegnabili a partire da Delphi 6:
type
  TMiaEnum = (valore1 = 1 shl 0,
              valore2 = 1 shl 1,
              valore3 = 1 shl 2,
              valore4 = 1 shl 3,
              valore5 = 1 shl 4,
              valore6 = 1 shl 5);
-- 
Andrea Laforgia
Open Delphi Manual
http://groups.yahoo.com/group/delphi_open_manual/

 Che fare quindi?
puoi usare shl al posto di << :
type nometipo = (Valore1 = 1 , Valore2 = 1 shl 1, Valore3 = 1 shl 2, Valore4
= 1 shl 3);


 Le enum sono assegnabili a partire da Delphi 6:
ehm... e su Delphi 5 c'e' qualche artificio che posso usare?


ehm... e su Delphi 5 c'e' qualche artificio che posso usare?
Puoi ricorrere a delle semplici costanti.


 Puoi ricorrere a delle semplici costanti.
Ed anche: usare un tipo enumerativo *e* un array con i valori:
type
  TValueNames = (vnVal1, vnVal2,...);
const
  Values: array[TValueNames] of integer = (1, 2, 4,...)
dove serve il valore: Values[vnValX], dove serve l'enumerazione: for vn
:= vnVal1 to ...
Saluti
Paolo Arosio