04. april 2003 - 12:20Der er
7 kommentarer og 1 løsning
Visual studio .NET: abstract
Hey.
Jeg udvikler nogle win forms for øjeblikket. I mine forms vil jeg have en menu samt en statusbar på dem alle + nogle metoder der skal ligge i alle forms. Jeg ville gerne lave nogle interface metoder som skal implementeres i alle forms og nogle reelle metoder med indhold. Til dette ville jeg lave en abstract form som alle andre forms skulle arve fra. programmeringsmæssigt fungerer det også fint og alle er glade. Men Visual Studio .NET kan ikke finde ud af abstract. Den fejler når den skal vise designview af de forms der arver fra den abstracte form. Den siger af designeren skal lave en instans af den abstracte form for at kunne vise noget, men at den ikke kan det netop fordi den er abstract.
Hvad helvede gør man så når man nu gerne vil lave den abstract?
Er der nogen der har løbet ind i dette andre steder og har løst det?
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Så dropper man alt om at bruge den indbyggede GUI editoer og overgår til håndskrivning :) (eller overgår til XML-modelleringssproget GUIML, når det er færdigudviklet ;)
spøg til side, jeg kunne godt forestille mig Visual Studio kan have svært ved at håndtere abstracte forms og håndkodning måske er den eneste løsning i den situation, hvis du absolut vil nedarve fra en abstract form.
Alternativt kunne du jo lave en udvidet panelkomponent der indeholder din menubar og de andre ting, som du så bare kan referere/inkludere i dine forskellige forms (så undgår du abstractionsproblematikken).
Er lidt samme princip som når du skal vælge struktur på en hjemmeside, typisk gør man enten det at man laver en default fil som moddellerer skelettet og som man så inkluderer undersider i (svarer til din abstracte form løsning) eller også laver man en header og en footer som man istedet inkluderer i alle undersiderne (svarer til den alternative løsning jeg nævnte til sidst).
JA det har jeg også gjort indtil videre.... sådan næsten da. Jeg har en User Control med min statusbar i som bliver inkluderet på alle sider. Det virker også fint og igen er alle glade..... liiiiige indtil at visual studio får den ide fuldstændigt uden opfordring at smide user controlen ud. ja det lyder åndsvagt og der gik mange gange inden jeg opdagede at det er visual studio der selv gør det. nogle dage virker det fint og andre dage smider visual studio bare min user control væk fra vilkårlige forms på vilkårlige tidspunkter..... meget mærkeligt! og ret frustrerende. Det skal lige siges at det ikke kun er på min installation det sker, det sker lige så tit på mine kollegaers installation. Men det er måske på grund af at det er en user control? hvis det var et panel ville det måske virke bedre?
Jeg skal ikke kunne sige hvad det er der gør Visual Studio opfører sig på den måde. Men jeg må indrømme jeg er begyndt at gå længere og længere væk fra Visual Studio pga. mange ting faktisk er mere besværlige at gennemføre i det, selv GUI design kan faktisk laves nemmere i hånden (og med hjælp fra et par simple parserprogrammer man ret hurtigt kan bikse sammen) og så slipper man for den slags problemer, samt man kommer ud over RAD miljøernes foretrukne udviklingsform (Som ikke er specielt hensigtsmæssig til størrer projekter).
Hvis jeg må give dig et råd, så drop Visual Studio til det projekt du har gang i der, for jeg tvivler på miljøet vil være dig til nogen hjælp når du bevæger dig udover miljøets vante rammer.
dj>> hvorfor droppe VS.Net?! Dens intellisense kan ikke fås meget bedre, så hvis der er noget man skulle droppe, så var det dens formdesigner. Jeg bruger den generelt heller ikke, men selve code-editoren.. jeg har svært ved at leve uden ;)
intellisense er et spørgsmål om tilvænning, man kan fint lære at leve uden ;)
Men ja, men kan da også fint bare nøjes med at benytte code-editoren i VS.NET, men så er det ligesom om at meget af ideen i at benytte et stort og dyrt udviklingsmiljø forsvinder .. hvis man da ikke er dybt afhængig af intellisense =)
dj>> tja... jeg ved nu ikke om hele ideen forsvinder. Det er rigtigt at du selvfølgelig ikke bare kan trække dine kontroller ind på formen og bruge Properties-browseren på dem hvis du kun bruger code-editoren... men du har stadigvæk mulighed for state-of-the-art debugging... og jo, selvfølgelig kan man lave uden intellisense. Men det sparer dig for en masse tid, istedet for hele tiden at skulle slå op i SDK'et for at se hvad det nu var det hed, og hvilke parametre man nu skulle bruge.
argh hvor besværligt. Håber det er fikset i VS.NET 2003!
takker. /me kaster point i din retning.
//finger
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.