[NET]Fallita generazione di librerie con AxImp

domenica 07 ottobre 2007 - 19.31

chrisvoo Profilo | Newbie

Salve sono su Win Vista e sto imparando C#. Leggendo un libro c'è un programma che necessita la creazione di assembly con aximp.
Ho anche Visual Studio 2005 installato e il Windows SDK.
Vado a digitare dal prompt dei comandi:
AxImp c:\windows\system32\msdxm.ocx
Ma ottengo l'errore:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
A cosa può esser dovuto e come posso rimediarE? grazie ciao

munissor Profilo | Senior Member

Inanzitutto verifica di avere i permessi necessari (prova a lanciare aximp come amministratore)
se anche così non funziona assicurati che il file contenga una tabella dei tipo valida (come risorsa) o cerca il file .tlb associato..

chrisvoo Profilo | Newbie

Ciao,sono su un account amministrativo,quindi non ci son problemi di sorta quanto a permessi. Di file tbl non ne vedo e non so nemmeno a cosa servono,scusa ma sono totalmente nuovo al mondo .NET quindi non date niente per scontato! Io so solo che il libro da cui prendo l'esempio (risalente al 2002),crea questo programmino che dovrebbe leggere file mp3 e ha il codice qui sotto.
Volevo solo sapere se c'è qualcosa che non va nel mio pc (configurazioni,ecc) oppure se è una procedura vecchia e ora si fa in altre maniere.

using System; using System.Windows.Forms; using AxMediaPlayer; public class MediaPlayerApp : Form { private MainMenu mainMenu; private MenuItem fileMenu; private MenuItem fileOpen; private MenuItem fileExit; private OpenFileDialog openFileDialog; private AxMediaPlayer.AxMediaPlayer mediaPlayerControl; //Constructor public MediaPlayerApp() { //Adds media player control and sets some properties mediaPlayerControl = new AxMediaPlayer.AxMediaPlayer(); mediaPlayerControl.Location = new System.Drawing.Point(8, 0); mediaPlayerControl.Size = new System.Drawing.Size(285,305); //Instantiate the open file dialog box. openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "MP3 files (*.mp3)|*.mp3|AVI files (*.avi) |*.avi |All files (*.*)|*.*"; openFileDialog.FileOk += new System.ComponentModel.CancelEventHandler (this.openFileDialog_FileOk); //Creates the File Menu mainMenu = new MainMenu(); fileMenu = new MenuItem(); fileOpen = new MenuItem(); fileExit = new MenuItem(); //fileOpen fileOpen.Text = "Open"; fileOpen.Index = 0; fileOpen.Click += new System.EventHandler(this.fileOpen_Click); //fileExit fileExit.Text = "Exit"; fileExit.Index = 0; fileExit.Click += new System.EventHandler(this.fileExit_Click); //fileMenu fileMenu.Text = "File"; fileMenu.Index = 0; //Adds the Menu Items fileMenu.MenuItems.Add(fileOpen); fileMenu.MenuItems.Add(fileExit); mainMenu.MenuItems.Add(fileMenu); //Creating the Form Window this.Text = "Media Player App"; this.AutoScaleBaseSize = new System.Drawing.Size(5,10); this.ClientSize = new System.Drawing.Size(305,230); this.Menu = mainMenu; //Sets the main menu for the form //Adds the media player control to the form this.Controls.Add(mediaPlayerControl); } //Handle the file open event private void fileOpen_Click(object sender, System.EventArgs e) { openFileDialog.ShowDialog(); } //Handle the file exit event private void fileExit_Click(object sender, System.EventArgs e) { Application.Exit(); } //Handles the file selection event private void openFileDialog_FileOk(object sender, System.ComponentModel.CancelEventArgs e) { //Sets the filename to be played //by the media player control mediaPlayerControl.FileName = openFileDialog.FileName; } public static void Main(){ Application.Run(new MediaPlayerApp()); } }

munissor Profilo | Senior Member

A meno che tu non abbia disabilitato UAC su vista anche da admin i programmi girano sempre con il minimo privilegio possibile. Nel caso che tu debba fare cose "extra" devi elevare i permessi..non è quindi scontato il fatto che se sei admin puoi fare tutto (almeno su vista).

Una libreria dei tipi è semplicemente una descrizione dell'interfaccia di un tipo COM (in poche parole la firma dei suoi metodi)..

Se sei nuovo di C# cmq consiglio di cominciare su qualcosa di più semplice, che non richieda magari conoscenze specifiche di altre piattaforme (quali COM)

chrisvoo Profilo | Newbie

Si infatti sto cominciando dalle basi e stranamente il libro mi ha sciorinato in principio quel codice. Mi chiedevo solo il motivo per cui desse errore ma non è molto importante alla fine. Cmq UAC è stato disabilitato. Grazie per i suggerimenti,a presto :)
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5