Forum » Programiranje » [visual C#] Na drugem računalniku se ne zažene
[visual C#] Na drugem računalniku se ne zažene
Beezgetz ::
Živjo
Zanima me, ali obstajajo znani razlogi, zakaj se aplikacijaX, ki sem jo sestavil in pri meni dela, ne zažene na drugem računalniku, ki je v angliji, ter ima winse in .Net Framework inštaliran?
Poslal sem mu tudi eno enostavno aplikacijoY (samo en vnos, en gumb, en izpis) in ta dela. Mogoče dela zaradi tega, ker ne vsebuje private void FormY_Load(object sender,...), ne vem,...
Imam aplikacijoX, ki na začetku ustvari folder na c-ju, ki je root node za treeView1.
TreeNode rig = new TreeNode("All Projects");
private void Form1_Load(object sender, EventArgs e)
{
// za operacije z miško
treeView1.MouseDoubleClick += new MouseEventHandler(dvakratLevo);
// Evo, tu ustvarim folder
Directory.CreateDirectory("c:/All Projects");
// tu pa nafilam treeView1
DirectoryInfo root = new DirectoryInfo("c:/All Projects");
treeView1.Nodes.Add(rig);
this.ShowNodes(root, treeView1.Nodes[0]);
toolStripStatusLabel1.Text = "Ready to work!";
}
Ali gre mogoče za zapis '//' ali '\\' ki je tam drugačen?
Najbrž ni razlike med veliko in malo črko c, C?
ajm open for sadžeščns
tenk juri veliku mačku, Beezgetz
Zanima me, ali obstajajo znani razlogi, zakaj se aplikacijaX, ki sem jo sestavil in pri meni dela, ne zažene na drugem računalniku, ki je v angliji, ter ima winse in .Net Framework inštaliran?
Poslal sem mu tudi eno enostavno aplikacijoY (samo en vnos, en gumb, en izpis) in ta dela. Mogoče dela zaradi tega, ker ne vsebuje private void FormY_Load(object sender,...), ne vem,...
Imam aplikacijoX, ki na začetku ustvari folder na c-ju, ki je root node za treeView1.
TreeNode rig = new TreeNode("All Projects");
private void Form1_Load(object sender, EventArgs e)
{
// za operacije z miško
treeView1.MouseDoubleClick += new MouseEventHandler(dvakratLevo);
// Evo, tu ustvarim folder
Directory.CreateDirectory("c:/All Projects");
// tu pa nafilam treeView1
DirectoryInfo root = new DirectoryInfo("c:/All Projects");
treeView1.Nodes.Add(rig);
this.ShowNodes(root, treeView1.Nodes[0]);
toolStripStatusLabel1.Text = "Ready to work!";
}
Ali gre mogoče za zapis '//' ali '\\' ki je tam drugačen?
Najbrž ni razlike med veliko in malo črko c, C?
ajm open for sadžeščns
tenk juri veliku mačku, Beezgetz
Beezgetz ::
Kljub temu, da mu dela aplikacijaY?
ok, se bom pozanimal, kero verzijo ima.
Še kakšen predlog?
Hvala, Beezgetz
ok, se bom pozanimal, kero verzijo ima.
Še kakšen predlog?
Hvala, Beezgetz
morbo ::
Odsek kjer misliš da je hrošč postavi v prestreznik napak, pa boš dosti bližje odgovoru. Try/catch bloke je dobro postavit na vse "kritične" odseke (šarjenje po disku je že eden takih).
AndrejS ::
Nisem pozorno prebral tvojega prvega posta. se opravičujem.
Problem je verjetno tukaj ; Directory.CreateDirectory("c:/All Projects"); Verjetno nima pravice za ustvarjenje imenika na rootu
Problem je verjetno tukaj ; Directory.CreateDirectory("c:/All Projects"); Verjetno nima pravice za ustvarjenje imenika na rootu
Beezgetz ::
Živijo!
@ morbo; v tej obliki:
private void Form1_Load(object sender, EventArgs e)
{
try{
treeView1.MouseDoubleClick += new MouseEventHandler(dvakratLevo);
try{
Directory.CreateDirectory("c:/All Projects");
try{
DirectoryInfo root = new DirectoryInfo("c:/All Projects");
try{
treeView1.Nodes.Add(rig);
try{
this.ShowNodes(root, treeView1.Nodes[0]);
toolStripStatusLabel1.Text = "Ready to work!";}
catch{ MessageBox.Show("Napaka pri..");}}
catch {MessageBox.Show("Napaka pri..");}}
catch {MessageBox.Show("Napaka pri..");}}
catch {MessageBox.Show("Napaka pri..");}}
catch {MessageBox.Show("Napaka pri..");}
}
ali tej obliki:
private void Form1_Load(object sender, EventArgs e)
{
try
treeView1.MouseDoubleClick += new MouseEventHandler(dvakratLevo);
catch
try
Directory.CreateDirectory("c:/All Projects");
catch
try
DirectoryInfo root = new DirectoryInfo("c:/All Projects");
catch
try
treeView1.Nodes.Add(rig);
catch
try
this.ShowNodes(root, treeView1.Nodes[0]);
toolStripStatusLabel1.Text = "Ready to work!";
catch
}
Kje je še pametno postavit try/catch?
@ AndrejS; ...pravice za ustvarjenje imenika na rootu... Kaj pa to pomeni? Da ukaz Directory ne sme ustvarit na c-ju mapo 'All Projects'?
okej, kdo pa izdaja take ukaze? Kako ga prepričam, da ustvari mapo?
V osnovi sem dal da shranjuje na c-ju zato, ker vsak računalnik naj bi imel c...
Zdaj pa še ta udarc. Ne dovoljuje ustvarjanja map...
Vnaprej hvala obema
@ morbo; v tej obliki:
private void Form1_Load(object sender, EventArgs e)
{
try{
treeView1.MouseDoubleClick += new MouseEventHandler(dvakratLevo);
try{
Directory.CreateDirectory("c:/All Projects");
try{
DirectoryInfo root = new DirectoryInfo("c:/All Projects");
try{
treeView1.Nodes.Add(rig);
try{
this.ShowNodes(root, treeView1.Nodes[0]);
toolStripStatusLabel1.Text = "Ready to work!";}
catch{ MessageBox.Show("Napaka pri..");}}
catch {MessageBox.Show("Napaka pri..");}}
catch {MessageBox.Show("Napaka pri..");}}
catch {MessageBox.Show("Napaka pri..");}}
catch {MessageBox.Show("Napaka pri..");}
}
ali tej obliki:
private void Form1_Load(object sender, EventArgs e)
{
try
treeView1.MouseDoubleClick += new MouseEventHandler(dvakratLevo);
catch
try
Directory.CreateDirectory("c:/All Projects");
catch
try
DirectoryInfo root = new DirectoryInfo("c:/All Projects");
catch
try
treeView1.Nodes.Add(rig);
catch
try
this.ShowNodes(root, treeView1.Nodes[0]);
toolStripStatusLabel1.Text = "Ready to work!";
catch
}
Kje je še pametno postavit try/catch?
@ AndrejS; ...pravice za ustvarjenje imenika na rootu... Kaj pa to pomeni? Da ukaz Directory ne sme ustvarit na c-ju mapo 'All Projects'?
okej, kdo pa izdaja take ukaze? Kako ga prepričam, da ustvari mapo?
V osnovi sem dal da shranjuje na c-ju zato, ker vsak računalnik naj bi imel c...
Zdaj pa še ta udarc. Ne dovoljuje ustvarjanja map...
Vnaprej hvala obema
morbo ::
enostavno takole:
try {
treeView1.MouseDoubleClick += new MouseEventHandler(dvakratLevo);
Directory.CreateDirectory("c:/All Projects");
DirectoryInfo root = new DirectoryInfo("c:/All Projects");
treeView1.Nodes.Add(rig);
} catch (Exception e) {
MessageBox.Show(e.Message);
}
Opis napake bi ti moral dat dovolj informacij kaj je narobe.
try {
treeView1.MouseDoubleClick += new MouseEventHandler(dvakratLevo);
Directory.CreateDirectory("c:/All Projects");
DirectoryInfo root = new DirectoryInfo("c:/All Projects");
treeView1.Nodes.Add(rig);
} catch (Exception e) {
MessageBox.Show(e.Message);
}
Opis napake bi ti moral dat dovolj informacij kaj je narobe.
morbo ::
Aja, try/catch postaviš na kritičnih odsekih - to so vsi tisti, ki kličejo metode katere prožijo (throw) izjeme - če podržiš miško na imenu metode boš videl seznam izjem, ki jih lahko proži.
Beezgetz ::
Hej morbo!
aha, se pravi samo en try/catch (Exception e) {
MessageBox.Show(e.Message);}
Glede metod, si nisem še čist na jasnem, Bom pa poiskusil tvoj nasvet z miško!
Directory.CreateDirectory je metoda?
private void Racun je metoda?
Hvala, Beezgetz
aha, se pravi samo en try/catch (Exception e) {
MessageBox.Show(e.Message);}
Glede metod, si nisem še čist na jasnem, Bom pa poiskusil tvoj nasvet z miško!
Directory.CreateDirectory je metoda?
private void Racun je metoda?
Hvala, Beezgetz
morbo ::
Hja, metoda je proces ki lahko prejme neke parametre, jih obdela in vrača vrednost (oz. void), za razliko do lastnosti, ki le hranijo neko vrednost. Metode prepoznaš po oklepajih med katere zapišeš parametre (oz. praznih oklepajih, če metoda ne zahteva parametrov). V code completion seznamu, so metode tisto z ikonco viola "radirke", al kar je že...
Directory.CreateDirectory() je metoda, private void Racun() { } pa najava metode z imenom Racun
catch (Exception e) ti bo ulovil vse tipe napak v bloku (prvo ki se bo zgodila), ker je razred Exception nadrazred vseh napak (izjem). Če hočeš obdelat le določene izjeme lahko uporabiš specifične razrede npr: FileNotFoundException. V tvojem primeru pač ne veš kakšna napaka se zgodi, zato iščeš vse.
Za celotno lokacijo kjer se je zgodila izjema (tudi število vrstice!) dodaj v msgbox še: e.StackTrace, torej - MessageBox.Show(e.Message + "\n" + e.StackTrace);
Directory.CreateDirectory() je metoda, private void Racun() { } pa najava metode z imenom Racun
catch (Exception e) ti bo ulovil vse tipe napak v bloku (prvo ki se bo zgodila), ker je razred Exception nadrazred vseh napak (izjem). Če hočeš obdelat le določene izjeme lahko uporabiš specifične razrede npr: FileNotFoundException. V tvojem primeru pač ne veš kakšna napaka se zgodi, zato iščeš vse.
Za celotno lokacijo kjer se je zgodila izjema (tudi število vrstice!) dodaj v msgbox še: e.StackTrace, torej - MessageBox.Show(e.Message + "\n" + e.StackTrace);
Beezgetz ::
huh, kul.
pa hvala za exeption hint.
kaj pa tisto, kar pravi AndrejS?
O 'Problem je verjetno tukaj ; Directory.CreateDirectory("c:/All Projects"); Verjetno nima pravice za ustvarjenje imenika na rootu'
Kaj to pomeni? Da ukaz Directory ne sme ustvarit na c-ju mapo 'All Projects'?
Hvala. Beezgetz
pa hvala za exeption hint.
kaj pa tisto, kar pravi AndrejS?
O 'Problem je verjetno tukaj ; Directory.CreateDirectory("c:/All Projects"); Verjetno nima pravice za ustvarjenje imenika na rootu'
Kaj to pomeni? Da ukaz Directory ne sme ustvarit na c-ju mapo 'All Projects'?
Hvala. Beezgetz
Beezgetz ::
kul! Postavljeno.
Sem že poslal. Zdaj bom počakal kaj pravi...
Hvala vama še enkrat, Beezgetz
Sem že poslal. Zdaj bom počakal kaj pravi...
Hvala vama še enkrat, Beezgetz
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [c#] try/catch, v katerem gradniku je napakaOddelek: Programiranje | 1021 (759) | japol |
» | [c#] iz class v classOddelek: Programiranje | 881 (755) | darkolord |
» | Poganjanje zunanjih aplikacij iz C#Oddelek: Programiranje | 1003 (834) | BlueRunner |
» | [c#] Primerjanje datotek ...Oddelek: Programiranje | 880 (797) | OmegaM |
» | [visual C#] dogodek na Form2 sproži dogodek na Form1Oddelek: Programiranje | 1355 (1271) | Beezgetz |