Mer

Hvordan liste ActiveView SelectionChanged hendelsesdelegater i ArcObjects .NET?


Jeg har for øyeblikket et problem i et ArcObjects ArcMap-tillegg der hendelsesbehandlerne tilsynelatende tilfeldigvis blir hektet av hendelsen jeg prøver å fange. Jeg har brukt litt tid på å lete etter en måte å liste alle delegater som for øyeblikket er tildelt for hendelsen, men jeg finner ikke en måte å ringe Delegate.GetInvocationList () fra hendelsesgrensesnittet.

Når tillegget mitt er opprettet, utfører jeg følgende for å svare på ActiveView SelectionChanged-hendelsen:

IActiveViewEvents_Event activeViewEvent = (IActiveViewEvents_Event) ArcMap.Document.FocusMap; activeViewEvent.SelectionChanged += ny IActiveViewEvents_SelectionChangedEventHandler (this.onSelectionChanged);

Nå vet jeg at denne hendelsesbehandleren vil gå tapt når den aktive visningen endres, så jeg har også dette:

IDocumentEvents_Event documentEvent = (IDocumentEvents_Event) ArcMap.Document; documentEvent.ActiveViewChanged += new IDocumentEvents_ActiveViewChangedEventHandler (this.onActiveViewChanged);

som kaller den forrige koden for å legge til SelectionChanged hendelsesbehandleren på nytt.

Med tilsynelatende tilfeldige intervaller slutter applikasjonen min å svare på SelectionChanged -hendelsen. Jeg stopper alle CLR-feil, så jeg er sikker på at det ikke er et stille unntak som deaktiverer tillegget mitt.

Det jeg virkelig vil er å kunne inspisere delegatene som er tildelt SelectionChanged-arrangementet og se om min trenger å bli lagt til igjen, men så langt ingen glede.

Eventuelle forslag til hva som kan gå galt, eller hvordan du kan inspisere de tildelte hendelsesbehandlerne, vil bli veldig verdsatt!

REDIGERE:

Jeg har siden funnet ut et mønster for galskapen. Verktøyet mitt kjører bare i en redigeringsøkt hvis funksjoner er valgt. En måte jeg kan replikere denne oppførselen på er å 1) starte en redigeringsøkt 2) velge noen funksjoner 3) kjøre verktøyet mitt - kopiere utvalgte funksjoner fra ett lag til et annet 4) slutte å redigere (det spiller ingen rolle om jeg lagrer redigeringene eller ikke) 5) Nå blir hendelsen som ikke er endret, behandlet lenger

Kan noen fortelle meg hvorfor å starte og deretter slutte å redigere ville løsne mine valg endrede hendelsesbehandlere?


Takk for interessen for dette spørsmålet. Jeg endte opp med å bruke en annen tilnærming som faktisk fungerer bedre i min situasjon og er mer pålitelig.

I stedet for å brukeIActiveViewEvents :: SelectionChangedjeg gikk medIEditEvents :: SelectionChangedsom jeg faktisk bare trengte å vite om valget endret seg under redigering. Siden redigeringsobjektet aldri endres, går hendelsesbehandleren aldri tapt, så det er ikke nødvendig å tilordne behandleren på nytt.

Jeg brukte en stund på å teste det opprinnelige problemet, og jeg er ganske sikker på at det er et ArcObjects -problem, da jeg faktisk ikke klarte å replikere det hver gang ved å bruke nøyaktig samme hendelsesrekkefølge.

Jeg vil fortsatt vite om listen over delegater kan hentes for en ArcObjects -hendelse, men foreløpig er mitt opprinnelige problem løst.


Jeg møtte det samme problemet nylig med WPF -dokkerbart vindu. Løste dette ved å bruke egendefinert ArcMap-utvidelseskode fra et tilleggsprogram for Esri's Selection Sample.


Du må opprette en hendelsesbehandler for brukerkontrollen som tas opp når en hendelse fra brukerkontrollen utløses. Dette vil tillate deg å boble hendelsen opp i kjeden, slik at du kan håndtere hendelsen fra skjemaet.

Når jeg klikker på Button1 på UserControl, avfyrer jeg Button1_Click som utløser UserControl_ButtonClick på skjemaet:

Nyere Visual Studio -versjoner antyder at i stedet for hvis (this.ButtonClick! = Null) this.ButtonClick (this, e) kan du bruke ButtonClick? .Invoke (this, e), som i hovedsak gjør det samme, men er kortere.

Attributtet for lesbarhet gjør hendelsen synlig i Visual Studios designer (hendelsesvisning), Kategori viser den i kategorien "Handling", og Beskrivelse gir en beskrivelse for den. Du kan utelate disse attributtene helt, men det er mye mer behagelig å gjøre det tilgjengelig for designeren, siden VS håndterer det for deg.


Hvordan sender jeg en hendelsesbehandler delegat til en med en annen signatur

Koden jeg skriver er faktisk en WPF -oppførsel for å få de valgte elementene fra en rutenettkontroll (SelectedItems, som vi vet, er ikke en bindbar egenskap). Jeg bruker faktisk en Telerik RadGridView, men jeg vil at atferden skal være generell for alt med en SelectionChanged -hendelse. Imidlertid har forskjellige kontroller forskjellige signaturer for SelectionChanged hendelsesbehandlere (RadGridView bruker Telerik.Windows.Controls.SelectionChangeEventArgs mens en standard GridView bruker System.Windows.Controls.SelectionChangedEventArgs). Den eneste tingen vi kan være sikre på er at hendelsesargumentene kommer fra EventArgs (faktisk kan vi være sikre på at den kommer fra RoutedEventArgs).

Selv om jeg kan skrive en generell hendelsesbehandling som tar en RoutedEventArgs som sin andre parameter, og jeg kan bruke refleksjon for å få EventInfo for SelectionChangedEvent, kan jeg ikke koble håndtereren til hendelsen uten å bruke den nøyaktige signaturen for hendelsen. handler - i dette tilfellet RadGridView -behandleren.

Her er koden min. Jeg har inkludert alt, men den viktige biten er SelectItemPropertyChanged, som er DependencyObject PropertyChangedCallback som prøver å koble hendelsesbehandleren SelectionChangedHandler til SelectionChangedEvent. (Koden i SelectionChangedHandler er irrelevant for spørsmålet, men jeg har forlatt det så det er klart hva jeg gjør).

Jeg har prøvd alle slags måter å bruke refleksjon for å få den riktige signaturen for håndtereren, og dermed opprette en delegat til riktig type, men jeg kan bare ikke få det til å fungere - AddEventHandler (og RemoveEventHandler) kaster en InvalidArgumentException, full stack -spor som følger:


7 Svar 7

Kontrolleren styrer aktivitetsflyten. Brukeren utfører denne handlingen, kontrolleren sender visningsdataene til domenet som gjør hva den må gjøre da, basert på responsen (e), forteller kontrolleren rammen hvilken visning som skal vises neste (og gir den nok data til å gjøre så).

Kontrolleren må dermed til en viss grad kobles til domenemodellen. dvs. Du kan sette et servicelag mellom, men etter streng definisjon blir det en del av domenet.

Den er også koblet til visningsdataene, men ikke selve visningen. dvs. det står rett og slett "vis kundevisning med denne kundedetaljen." Rammeverket bestemmer deretter hvor det skal finne det synet.

Nå skal dette tillate deg å koble domenemodellen fra visningen ved å bruke en visningsmodell med de samme dataene. Noen utviklere gjør dette, noen gjør det ikke, og jeg tror det i stor grad handler om personlige preferanser.

I Rails blir du veldig oppfordret til å skyve domeneobjektene (ActiveRecord) til visningen og stole på at visningen ikke utnytter denne tilgangen (f.eks. Bør du ikke ringe kunde. Lagre fra visningen, selv om den ville være tilgjengelig).

I .NET -verden har vi en tendens til å redusere risiko ved å ikke tillate ting som ikke burde skje, og muligens av den grunn virker det som om den frittliggende visningsmodellen er mer populær.

Merk: Robert C. Martin (alias onkel Bob) forklarer dette på en mye bedre og humoristisk måte i sin hovedartikkel, Architecture the Lost Years. Litt lang, men lærer mange gode konsepter.

tldr: Ikke tenk og planlegg appen din når det gjelder MVC. MVC -rammeverket er bare en implementeringsdetalj.

Det mest forvirrende med MVC er at utviklere prøver å bruke alle komponentene limt sammen.

Prøv å tenke i vilkårene for et program, ikke i rammene.

Programmet ditt har en hensikt. Det tar noen data, gjør ting med data og returnerer noen data.

På den måten er kontrolleren leveringsmekanismen for programmet ditt.

  1. En bruker sender en forespørsel til programmet ditt (la oss si, legg til et produkt i handlekurven).
  2. Kontrolleren tar den forespørselen (produktinformasjon og brukerinformasjon), den kaller den nødvendige delen av programmet ditt som skal håndtere denne forespørselen $ user- & gtaddToCart ($ product)
  3. Programmet ditt (addToCart -funksjonen til brukerobjektet i dette tilfellet) gjør jobben det er ment å gjøre og returnerer et svar (la oss si suksess)
  4. Kontrolleren forbereder svaret ved hjelp av den relevante visningen: f.eks. i kontrollobjektet $ this- & gtrender ($ cartView ('suksess')

På denne måten kobles kontrollerne fra programmet og brukes som leveringsmekanisme. De vet ikke hvordan programmet ditt fungerer, de vet bare hvilken del av programmet som må ringes for forespørslene.

Hvis du vil bruke et annet rammeverk, trenger ikke appen din en endring, du trenger bare å skrive relevante kontrollere for å ringe programmet ditt for forespørsler.

Eller hvis du vil lage en stasjonær versjon, forblir appen din den samme. Du trenger bare å forberede en leveringsmekanisme.

Og modellen. Tenk på det som en utholdenhetsmekanisme.

På OO -måten er det objekter i programmet som inneholder dataene.

Når du legger til et produkt i handlekurven, kan du legge til produktet :: id i brukeren :: shoppingCart.

Og når du vil beholde dataene, kan du bruke modelldelen av rammeverket, som vanligvis består av å bruke en ORM, til å tilordne klassene til databasetabellene.

Hvis du vil endre ORM du bruker, vil programmet forbli det samme, bare kartinformasjonen vil endres. Eller hvis du vil unngå databasene samlet, kan du bare skrive dataene til vanlige tekstfiler, og appen din forblir den samme.

Så skriv programmet først. Hvis du programmerer med "OO" -måten, bruker du vanlige gamle objekter på språket. Ikke tenk på MVC først.

Martin Fowler gjør en god jobb med å beskrive MVC -paradigmet. Her er en lenke til artikkelen hans om det http://martinfowler.com/eaaDev/uiArchs.html

Legg merke til sitatet hans om Separated Presentation "Ideen bak Separated Presentation er å lage en klar oppdeling mellom domenebilder som modellerer vår oppfatning av den virkelige verden, og presentasjonsobjekter som er GUI -elementene vi ser på skjermen."

Her er et enkelt eksempel på hvordan MVC kan brukes i en typisk Java Swing -applikasjon.

La oss si at du har et panel som inneholder en knapp og et tekstfelt. Når du trykker på knappen, utløses en hendelse, noe som fører til noen endringer i programmet. Når tilstandsendringen er registrert, blir TextField deaktivert.

Dette ville da være den typiske tilnærmingen som en enkel MVC -applikasjon bruker.

Kontrolleren registrerer seg selv som lytteren av visningens hendelser. Når du klikker på knappen, håndterer ikke selve visningen hendelsen som kontrolleren gjør. Kontrolleren er Swing -spesifikk da den må håndtere Swing -relaterte hendelser.

Kontrolleren mottar denne varslingen og må bestemme hvem som skal håndtere den (utsikten eller modellen). Siden denne hendelsen vil endre tilstanden til applikasjonen, bestemmer den seg for å videresende informasjonen til modellen som er ansvarlig for data og programlogikk. Noen gjør feilen ved å plassere programlogikk i kontrolleren, men i OOP representerer modeller både data OG oppførsel. Les Martin Fowler om hvordan han tar dette.

Meldingen mottas av modellen i riktig sammenheng. Det vil si at den er helt ugyldig for enhver referanse til Swing eller andre GUI -spesifikke referanser. Denne meldingen taler til modellen og KUN modellen. Hvis du finner deg selv å importere javax.swing -setninger i modellen, koder du ikke modellen på riktig måte.

Modellen setter deretter sin tilstand til "deaktivert" og fortsetter å varsle alle interesserte parter om denne modellendringen. Visningen, som er interessert i denne hendelsen, har allerede registrert seg som observatør av eventuelle modellendringer. Når hendelsen for modelltilstandsendring er plukket opp av visningen, fortsetter den å deaktivere TextField. Det er også lovlig for View å få skrivebeskyttet informasjon direkte fra modellen uten å måtte gå gjennom kontrolleren (vanligvis gjennom et spesifikt grensesnitt som modellen avslører for slik aktivitet)

Ved å fremme en så løs kobling mellom presentasjonen og forretningslogikk og datalag, vil du finne at koden din er mye mer vedlikeholdbar. Etter hvert som systemene vokser, vil også din tilnærming til MVC. For eksempel er hierarkisk MVC en utvidelse som ofte brukes til å koble MVC -triader sammen for å danne store virksomhetsomfattende systemer uten å koble delsystemer sammen


Generic EventArgs for å gå med generisk EventHandler?

Det er fra .NET 2.0 en generisk EventHandler -delegat -type, som kan brukes til å definere en hendelse i form av EventArgs -typen du ønsker å bruke, uten å måtte opprette en redundant delegat -type som skal brukes i hendelseserklæringen.

Hva med EventArgs? Jeg finner ofte at jeg må opprette engangspunkter fra EventArgs for å kapsle inn ekstra data jeg ønsker å sende. Hvorfor kan ikke det erklæres generisk også? Hvis alt jeg trenger å passere er en streng, eller et heltall eller et punkt, hvorfor må jeg opprette henholdsvis en klasse StringEventArgs, IntEventArgs og/eller PointEventArgs?

Jeg rufset opp to helt grunnleggende EventArgs-generiske typer som et bevis på konsept:

Den åpenbare forskjellen er om du vil at hendelsesbehandlere skal kunne endre argumentene dine. Noen ganger er det en god idé, oftest ikke så bra. Bruk vil ganske enkelt se slik ut:

Nå er dette åpenbart for enklere situasjoner, men jeg har funnet ut at de fleste situasjoner med hendelsesøkning er ganske enkle. Den eneste mulige tingen jeg vil legge til, er to flere klasser avledet fra CancelEventArgs for å legge til den ekstra funksjonaliteten. Det faktum at parameteren kan være alt inkludert en klasse gjør det fleksibelt nok til å sende komplekse data, og .NET 4's Tuples tar seg av de gjenværende situasjonene der du kanskje ikke vil definere din egen komplekse type. Den eneste ulempen jeg kan tenke på er ikke å være i stand til å beskrive parameteren den er generisk.


Hvordan liste ActiveView SelectionChanged hendelsesdelegater i ArcObjects .NET? - Geografiske informasjonssystemer

Jeg har problemer med Tabellområde verktøy.

Polygonene i min formfil overlapper hverandre, og på grunn av dette beregner ikke ArcMap riktige verdier.

Jeg prøver å løse dette ved å bruke ModelBuilder der det er mulig å gjøre Tabellområde for hver polygon separat, men på slutten vil jeg gjerne kombinere rader tilbake til ett bord.

Jeg tenkte at løsningen kan være modellen som bare heter verktøyet Samle verdier?

Kan noen hjelpe meg med hvordan jeg legger til rader i ett bord eller lagrer hver Tabellområde resultat under forskjellige navn?

Jeg håper at spørsmålet er forståelig. Hvis ikke, vil jeg prøve å skrive det om.

Her er resultatet som fungerte for meg. Likevel måtte jeg bruke R senere for å kombinere dbf -filene til en enkelt lang fil.

Srtm - Trekke ut høyde fra. HGT -fil?

Jeg vil tilordne en bestemt lang/lat posisjon på et kart til høyden fra SRTM3 datafiler, men aner ikke hvordan jeg finner den spesifikke verdien. Så jeg vil ha et eksempel på hvordan jeg kan finne i N50E14.hgt høyde til 50 䓘'58.888 "N, 14 䓷'11.377" E.

Jeg tar det som en liten øvelse i hvordan du programmerer en dataleser. Ta en titt på dokumentasjonen:

SRTM-data er fordelt på to nivåer: SRTM1 (for USA og dets territorier og eiendeler) med data samplet med ett buesekunders intervaller i breddegrad og lengdegrad, og SRTM3 (for verden) samplet med tre lysbuesekunder.


Data er delt inn i en etter en grad bredde- og lengdegrader i "geografisk" projeksjon, det vil si en rasterpresentasjon med like bredde- og lengdegrader i ingen projeksjon i det hele tatt, men lett å manipulere og mosaikk.


Filnavn refererer til breddegrad og lengdegrad i det nedre venstre hjørnet av flisen - f.eks. N37W105 har sitt nedre venstre hjørne på 37 grader nordlig bredde og 105 grader vestlig lengdegrad. For å være mer nøyaktig, refererer disse koordinatene til det geometriske sentrum av nedre venstre piksel, som for SRTM3 -data vil være omtrent 90 meter i omfang.


Høydefiler har utvidelsen .HGT og er signert to byte heltall. Byteene er i Motorola "big-endian" rekkefølge med den mest betydelige byten først, direkte lesbare av systemer som Sun SPARC, Silicon Graphics og Macintosh-datamaskiner som bruker Power PC-prosessorer. DEC Alpha, de fleste PCer og Macintosh-datamaskiner som ble bygget etter 2006, bruker Intel ("little-endian") -ordre, så noen bytebytte kan være nødvendig. Høyder er i meter referert til WGS84/EGM96 geoid. Datavolum tildeles verdien -32768.


For din posisjon, 50 䓘'58.888 "N 14 䓷'11.377" E, har du allerede funnet riktig flis, N50E14.hgt. La oss finne ut hvilken piksel du er interessert i. Første breddegrad, 50 䓘'58.888 "N:

buesekunder. Delt med tre og avrundet til nærmeste heltall gir en rutenett på 500. Den samme beregningen for lengdegrad resulterer i rutenettkolonne 1104.

Hurtigstartdokumentasjonen mangler informasjon om hvordan rader og kolonner er organisert i filen, men i hele dokumentasjonen heter det at


Dataene lagres i radens store rekkefølge (alle dataene for rad 1, etterfulgt av alle dataene for rad 2, etc.)


Den første raden i filen er sannsynligvis den nordligste, dvs. hvis vi er interessert i rad 500 fra nedre kant, vi må faktisk se på rad

fra starten hvis filen. Rutenettet vårt er nummer

fra starten av filen (dvs. hoppe over 700 rader, og i den 701. ta en prøve 1104). To byte per prøve betyr at vi må hoppe over de første 1683606 byte i filen og deretter lese to byte for å få rutenettet. Dataene er big-endian, noe som betyr at du må bytte de to byte på f.eks. Intel -plattformer.

Et forenklet Python -program for å hente de riktige dataene vil se slik ut (se dokumentene for bruk av struct -modulen):

Vær oppmerksom på at effektiv datainnhenting må se litt mer sofistikert ut (f.eks. Ikke åpne filen for hver prøve).

Du kan også bruke et program som kan lese .hgt -filene ut av esken. Men det er kjedelig.

Feil ved import av Shapefile til PostGIS ved bruk av importør -GUI

Jeg prøver å importere en shapefile til en PostGIS -database ved hjelp av den grafiske importøren. Jeg har nettopp installert POSTGRESQL og PostGIS. GUI ser slik ut:

Etter å ha testet at databasen min fungerte, valgte jeg formfilen jeg ønsket å laste opp, og mottok deretter en melding om at den ikke kunne importeres. Jeg prøvde å justere noen paramatere, men jeg er ikke sikker på hva jeg gjør.

Er det noen gode opplæringsprogrammer eller instruksjoner om hvordan du gjør dette? Jeg bruker Windows 7 64 bit.

Jeg legger bare til litt mer av feilmeldingen min.


Shapefile -import mislyktes.Tilkobling: host = localhost port = 5432 bruker = postgres passord = '******' Destinasjon: public.Area Source Source: D: files Area Shapefile type: Polygon Postgis type: MULTIPOLYGON [2] Mislykket SQL starter: "SET CLIENT_ENCODING TO UTF8 SET STANDARD_CONFORMING_STRINGS TO ON BEGIN CREATE TABLE" public "." Area "(gid serial PRIMARY KEY," fid_1 "int4," area "numeric," dtm "float8," dsm "float8," hgt "float8 "nat_area" numerisk, "nat_peri" numerisk, "nat_vol" num "Mislyktes i pgui_exec (): FEIL: type" geografi "eksisterer ikke LINE 14:" the_geom "geografi (MULTIPOLYGON, 4326)) ^


Shapefile -import mislyktes.


Jeg har prøvd å kjøre @MerseyVikings forslag, og deretter importere igjen. I Geometry Column: -boksen valgte jeg MULTIPOLYGON og prøvde deretter å importere den projiserte formfilen. Følgende feil dukket opp:

Deretter prøvde jeg å krysse av i Load into GEOGRAPHY -kolonnen i Alternativer, og fikk følgende feilmelding:

Begge feilmeldingene er identiske, og jeg forstår dem ikke helt.

Meldingen du får er at 'type geografi eksisterer ikke'. Dette betyr enten at du ikke installerte postgis riktig eller at du bruker en eldre versjon? Datatype for geografi ble introdusert i versjon 1.5

Arcpy - Velger du funksjoner etter attributt hvis du er i Python -listen?

Jeg prøver å fullføre et utvalg etter attributt i Python, men basert på spørringen om et attributt er tilstede i en liste.

En slik forespørsel på sitt enkleste bør være omtrent slik:

men den tilnærmingen returnerer en ugyldig uttrykksfeil.

Tidligere har jeg måttet bruke mer komplisert syntaks for denne typen søk, for eksempel:

men en tilpasning av denne biten ser ikke ut til å fungere for meg heller, dvs.:

Den opprinnelige spørringen din kunne ha blitt endret for en liste over heltall:

så hvis oid_list = [7, 9, 4, 8], er resultatet:

Vær oppmerksom på at dette "trikset" fungerer hvis oid_list alltid har to eller flere elementer, siden andre gyldige eksemplarer, som () eller (7,), vil resultere i en SQL -syntaksfeil.

Et mer generisk uttrykk som også ville håndtere null eller en oid_list -elementer ville være:

Punkt - Finn det nærmeste linjepunktet fra linestrengen ved hjelp av PostGIS

Hvordan finne det nærmeste linjepunktet fra en linestring? ST_ClosestPoint vil gi et poeng som ikke er fra linjestrengen.

Arcgis desktop - Viser to steder på kartet nærmere hverandre enn de faktisk bruker ArcMap?

Jeg jobber med ArcMap 10.2.2.

Jeg trenger å skrive ut to kart for tre kommuner, en by (Firenze, Italia) og to mindre byer (Signa og Impruneta) i nærheten. Ett kart med byen og det andre med de to byene (det er ikke verdt å ha et kart for hver av disse to byene).

Jeg vil at kartene skal ha samme skala og passe til papiret, og de må være omfattende av grensepolygon, grunnkart (bare vist innenfor kommunens grenser, slik at resten av papiret er tomt) og punktfunksjoner som representerer dataene mine. Veien å gå er å zoome til lag i kartvisning og deretter sette oppsettet slik jeg vil, og tilpasse kartet til papirmarger. Jeg klippet også datarammen til grenseformen for å få grunnkartet vist bare innenfor grensene.

Problemet er at de to byene ligger i forskjellige posisjoner rundt i byen, noe som resulterer i et stort tomrom igjen av byen på det andre kartet (to bykart). Siden jeg dessuten vil at skalaen til de to kartene skal være den samme, ville de to byene delvis falle utenfor papiromfanget. Dermed bestemte jeg meg for å flytte punktene og grensen til en by nær den andre og tegne en stiplet linje mellom dem for å tydeliggjøre at det ikke er deres relative posisjon (jeg la også et mindre kart for å vise deres virkelige posisjoner).

Jeg vet at dette betyr å endre dataene (endre koordinatene til punktene osv.) I byen jeg flyttet, og dette er kanskje ikke den beste måten å gå (jeg vil gjerne ha råd om dette), men jeg fikk resultatet jeg lette etter . Utenom. grunnkartet!

Klipping av datarammen oppretter ikke en ny klippet funksjon, den skjuler bare det som faller utenfor klippeområdet. Så mens jeg klarte å flytte punkter og grenser, er grunnkartet som vises innenfor grensen bare feil område. Og dette er naturlig, siden jeg antar at det ikke er mulig å flytte bunnstykker rundt, med mindre det er en måte å eksportere det ønskede basekartet på som grafisk eller raster (?!).

Jeg håper jeg forklarte det tydelig nok, men de tre bildene nedenfor kan gi en bedre ide: det første bildet viser kart med Firenze, det andre bildet viser kart med de to mindre byene (grensen til Signa vedlegger grunnkartet til et feil område) og tredje kart viser de relative posisjonene til de tre kommunene i virkeligheten.


Hvordan liste ActiveView SelectionChanged hendelsesdelegater i ArcObjects .NET? - Geografiske informasjonssystemer

Et kartobjekt er en beholder for kartdata. Et kartobjekt inneholder lag med både funksjons- og grafiske data.

Følgende gjelder for ArcMap -applikasjonsmodellen. Utviklere som lager sin egen applikasjon, kan finne på at ting er annerledes.

Hvert kartdokument inneholder minst ett kartobjekt. Bare ett kart kan ha fokus om gangen, og dette kartet kalles fokuskartet. En FocusMap -egenskap er beleilig plassert på IMxDocument -grensesnittet. IMxDocument har også en Maps -egenskap som returnerer en referanse (IMaps) til hele samlingen av Maps. Med IMaps kan du få opprette eller slette kart eller få en referanse til et eksisterende kart.

Alle lagene på et kart deler den samme romlige referansen. Kartets romlige referanse settes automatisk til den romlige referansen til det første laget som er lastet inn. Nye lag lastet inn i et kart projiseres til kartets romlige referanse hvis deres romlige referanse er annerledes.

Kart er inneholdt av MapFrames - PageLayout -objektet har en MapFrame og en MapFrame har et Map. Hvert kart har på sin side en samling med lag og MapSurrounds. Hver MapSurround er også knyttet til en MapSurroundFrame. Det finnes flere typer lag, inkludert FeatureLayers, FDOGraphicsLayers og GroupLayers. MapSurrounds inkluderer Legends, NorthArrows og ScaleBars.

Hvert kart har et grunnleggende grafisk lag der all grafikk inkludert etiketter er tegnet som standard. Brukere kan opprette flere grafikklag som heter Grupper eller Annotasjonsmållag, som alle administreres av CompositeGraphicsLayer.

Produkt tilgjengelighet

Støttede plattformer

Se også: com.esri.arcgis.carto.IMxDocument, serialisert skjema

Konstruktør Sammendrag
Kart ()
Konstruerer et kart ved hjelp av ArcGIS Engine.
Kart (objekt obj)
Utfaset. Fra og med ArcGIS 9.2, erstattet av vanlige Java -kaster.
Kart theMap = (Kart) obj
Metodeoppsummering
tomrom aktivere (int hWnd)
Gir denne visningen kontroll over det angitte vinduet.
tomrom addBookmark (ISpatialBookmark bokmerke)
Legger til et bokmerke i samlingen.
tomrom addElement (IElement -element, int zorder)
Legg til et nytt grafisk element i laget.
tomrom addElements (IElementCollection -elementer, int zorder)
Legg til nye grafiske elementer i laget.
tomrom addIActiveViewEventsListener (IActiveViewEvents theListener)
addIActiveViewEventsListener.
tomrom addIDynamicMapEventsListener (IDynamicMapEvents theListener)
addIDynamicMapEventsListener.
tomrom addIMapEventsListener (IMapEvents theListener)
addIMapEventsListener.
tomrom addLayer (ILayer -lag)
Legger til et lag på kartet.
tomrom addLayers (IEnumLayer -lag, boolsk autoArrange)
Legger til flere lag på kartet, og ordner dem pent hvis det er spesifisert.
tomrom addMapSurround (IMapSurround mapSurround)
Legger til en kartomgivelse på kartet.
tomrom addStandaloneTable (IStandaloneTable -tabell)
Legger til et frittstående bord i samlingen.
tomrom addTable (ITable -tabell)
Legger til en tabell i samlingen.
tomrom animationRefresh (int phase, Object data, IEnvelope envelope)
Brukes til å raskt tegne om en fase som har sin egen hurtigbuffer, dvs. et sporingslag.
tomrom animationRefreshShape (int phase, Object data, IGeometry geometry, double symbolSizePoints)
Brukes til å raskt tegne om en fase som har sin egen hurtigbuffer, dvs. et sporingslag.
tomrom boundsUpdated (ITransformEventsBoundsUpdatedEvent theEvent)
Varsler klienter når grensene er oppdatert.
tomrom bringForward (IEnumElement -elementer)
Flytt de angitte elementene et skritt nærmere toppen av bunken med elementer.
tomrom bringToFront (IEnumElement -elementer)
Få de angitte elementene til å tegne foran alle andre elementer.
tomrom buildCache ()
Bygg den romlige cachen.
tomrom klar ()
Tøm visningsinnholdet.
tomrom clearLayers ()
Fjerner alle lagene fra kartet.
tomrom clearMapSurrounds ()
Fjerner alle kartomgivelser fra kartet.
tomrom clearMasking (ILayer -lag)
Fjern maskeringslag på et lag.
tomrom klart valg ()
Sletter kartvalget.
boolsk completeRedrawNeeded ()
Sjekk om det er nødvendig med en fullstendig nytegning.
dobbelt computeDistance (IPpoint p1, IPoint p2)
Beregner avstanden mellom to punkter på kartet og returnerer resultatet.
ITimeExtent computeFullTimeExtent ()
Returnerer heltidsomfanget av de tidsaktiverte lagene på kartet.
tomrom contentChanged ()
Ringes av klienter når visningsobjekter endres.
IMapSurround createMapSurround (IUID clsid, IMapSurround optionalStyle)
Lag og initialiser en kartomringning.
tomrom deaktiver ()
En annen visning tar over det tilhørende vinduet.
tomrom delayDrawing (boolsk delay)
Stanser tegningen.
tomrom delayEvents (boolsk forsinkelse)
Brukes til å batch -operere sammen for å minimere varsler.
tomrom deleteAllElements ()
Slett alle elementene.
tomrom deleteElement (IElement -element)
Slett det gitte elementet.
tomrom deleteLayer (ILayer -lag)
Sletter et lag fra kartet.
tomrom deleteMapSurround (IMapSurround mapSurround)
Sletter en kartomgivelse fra kartet.
tomrom deviceFrameUpdated (ITransformEventsDeviceFrameUpdatedEvent theEvent)
Varsler klienter når enhetsrammen oppdateres.
tomrom displayFinished (IDisplayEventsDisplayFinishedEvent theEvent)
Varsler klienter når tegningen er fullført.
tomrom displayInvalidated (IDisplayEventsDisplayInvalidatedEvent theEvent)
Varsler klienter når visningen er ugyldig.
tomrom displayScrolled (IDisplayEventsDisplayScrolledEvent theEvent)
Varsler klienter når skjermen rulles.
tomrom displayStarted (IDisplayEventsDisplayStartedEvent theEvent)
Varsler klienter når tegningen starter.
tomrom draw (int hDC, ITrackCancel trackCancel)
Tegner visningen til den angitte enhetskonteksten.
boolsk elementSelected (IElement -element)
Angir om elementet er valgt.
tomrom emptyCache ()
Tøm kartbufferen.
tomrom enumConnectionPoints (IEnumConnectionPoints [] ppEnum)
enumConnectionPoints
boolsk lik (Objekt o)
Sammenlign dette objektet med et annet
tomrom findConnectionPoint (GUID riid, IConnectionPoint [] ppCP)
findConnectionPoint
IFrameElement findFrame (Object frameObject)
Finn rammen som inneholder det angitte objektet.
IEnumRelationshipClass findRelationshipClasses (IObjectClass objectClass, int role)
Finner alle relasjonsklasser i samlingen som refererer til den gitte objektklassen i den angitte rollen.
tomrom fireAfterDraw (int hDC)
Fire AfterDraw (esriViewForeground) hendelse.
tomrom fireChangeFeatureClass (IFeatureClass oldClass, IFeatureClass newClass)
Varsler lytterne om at lagets klasse har endret seg.
tomrom fireChangeTable (ITable oldTable, ITable newTable)
Varsler lytterne om at lagets klasse har endret seg.
tomrom fireChangeVersion (IVersion oldVersion, IVersion newVersion)
Varsler lytterne om at en versjon på kartet er endret.
tomrom fireLayerAdded (ILayer -lag)
Varsler lytterne om at et lag er lagt til på kartet.
tomrom fireLayerDeleted (ILayer -lag)
Varsler lytterne om at et lag er fjernet fra kartet.
tomrom fireLayerReordered (ILayer -lag, int toIndex)
Varsler lytterne om at et lag er omorganisert på kartet.
tomrom forceGraphicSelectionDraw ()
Ring før du bruker Output for å få grafisk valg til å trekkes.
Layer getActiveGraphicsLayer ()
Det aktive grafikklaget.
IActiveView getActiveView ()
Kartobjektet.
IAnnotateMap getAnnotationEngine ()
Annotasjonsmotoren (etiketten) som kartet vil bruke.
IEnvelope getAutoExtentBounds ()
Kartets grenser som vises av rammen.
IFeatureLayer getAutoExtentLayer ()
Auto omfang funksjoner.
IMap getAutoExtentMap ()
Kart for automatisk utstrekning.
dobbelt getAutoExtentMargin ()
Auto omfangsmargin.
int getAutoExtentMarginUnits ()
Automatisk utstrekningsmargin.
dobbelt getAutoExtentScale ()
Skalaen som kartet skal vises på.
int getAutoExtentType ()
Måten kartomfanget av rammen er spesifisert på.
IBarrierCollection getBarriers (IEnvelope pExtent)
Listen over barrierer og deres vekt for merking.
IBarrierCollection getBarriers2 (IEnvelope pExtent, ITrackCancel pTrackCancel)
Listen over barrierer og deres vekt for merking.
IBarrierCollection getBarriers3 (IEnvelope pExtent, dobbel skala, ITrackCancel pTrackCancel)
Listen over barrierer og deres vekt for merking.
IGraphicsLayer getBasicGraphicsLayer ()
Det grunnleggende grafiske laget.
IEnumSpatialBookmark getBookmarks ()
Bokmerkene.
IEnvelope getCacheExtent ()
Nåværende cache -omfang.
tomrom getClassID (GUID [] pClassID)
getClassID
IBorder getClipBorder ()
En valgfri kant tegnet rundt ClipGeometry.
Gjenstand getClipData ()
Angir eller returnerer utvidede klippetypedata, dvs. annet kart når typen er esriMapClipMapExtent.
Jeg satt getClipFilter ()
Angir eller returnerer settet med lag som vil bli ekskludert fra klipping.
IGeometri getClipGeometry ()
En form som lagene på kartet klippes til.
int getClipType ()
Metode som brukes til å klippe lag på kart.
statisk streng getClsid ()
getClsid.
tomrom getContextMenu (dobbel x, dobbel y, IUID [] clsidMenu)
Kalles når en kontekstmeny skal vises på det gitte xy -stedet.
String getCopyrightText ()
Opphavsrettsinformasjon knyttet til kartet.
ITimeExtent getCurrentTimeExtent ()
Den nåværende tidsomfanget av kartet.
dobbelt getDefaultTimeInterval ()
Tidsintervallet som skal brukes av tidsglidebryteren for å animere kartet.
int getDefaultTimeIntervalUnits ()
Tidsintervallene som skal brukes til å animere kartet.
dobbelt getDefaultTimeWindow ()
Tidsvinduet som brukes til å vise dataene på kartet.
String getDescription ()
Beskrivelse av kartet.
String getDisplayDateFormat ()
Datoformatet som vises på tidsglidebryteren.
int getDisplaySpeed ​​()
Glidebryterens hastighet på en skala fra 1 til 10 med 10 som den raskeste.
String getDisplayTimeFormat ()
Formatet for tiden som vises på tidsglidebryteren.
int getDistanceUnits ()
Avstandsenhetene for kartet.
Layer getDomainDefiningLayer ()
Returnerer laget som definerer kartdomenet, 0 hvis domenet er foreningen av alle lagene.
IElement getDominantElement ()
Dominerende element.
int getDynamicDrawRate ()
Den dynamiske trekkfrekvensen i millisekunder.
Gjenstand getElementOrder (IEnumElement -elementer)
Privat ordreobjekt.
ISeleksjon getElementSelection ()
Objekt som skal brukes til valg av elementer.
int getElementSelectionCount ()
Antall valgte elementer.
tagRECT getExportFrame ()
Enhetens rektangel som skal eksporteres.
IEnvelope getExtent ()
Det synlige omfanget rektangel.
IExtentStack getExtentStack ()
Omfangsstakken.
ISeleksjon getFeatureSelection ()
Funksjonsvalget for kartet.
IMap getFocusMap ()
Kartet som verktøy og kontroller virker på.
IEnvelope getFullExtent ()
Fullt rektangel.
ITimeExtent getFullTimeExtent ()
Returnerer heltidsomfanget av de tidsaktiverte lagene på kartet.
IGeoTransformationOperationSet getGeographicTransformations ()
On-the-fly geografiske transformasjoner.
IGraphicsContainer getGraphicsContainer ()
Den aktive grafikkbeholderen.
Layer getLayer (int index)
Laget ved den angitte indeksen.
int getLayerCount ()
Antall lag på kartet.
IEnumLayer getLayers (IUID uid, boolsk rekursiv)
Lagene på kartet av typen spesifisert i uid.
String getLevelMasking (ILayer maskedLayer, ILayer maskingLayer)
Symbolnivåene som maskeringen gjelder.
tomrom getLockedPan (boolsk [] flagg)
Sjekk om kartet kan panoreres.
tomrom getLockedZoom (boolsk [] flagg)
Sjekk om kartet kan zoomer.
IMap getMap ()
Kartobjektet.
dobbelt getMapScale ()
Kartets skala som en representativ brøkdel.
IMapSurround getMapSurround (int indeks)
Kartet omgir ved den angitte indeksen.
int getMapSurroundCount ()
Antall kartomgivelser knyttet til kartet.
int getMapUnits ()
Enhetene for kartet.
Jeg satt getMaskedLayers ()
Settet med lag som blir maskert.
Jeg satt getMaskingLayers (ILayer -lag)
Masker for et lag.
dobbelt getMaxScale ()
Maksimal skala for hurtigbufferen som skal bygges.
String getName ()
Navn på kartet.
IBakgrunn getNonFrameBackground ()
Angi bakgrunnen som skal brukes når du tegner til andre destinasjoner enn en ramme.
int getOutputBandSize ()
Størrelse tildelt for hvert bånd når båndutgang.
IOverposterProperties getOverposterProperties ()
Overposter kartet vil bruke til merking.
IPageLayout getPageLayout ()
PageLayout -objektet.
tomrom getPageSize (double [] widthInches, double [] heightInches)
Får sidestørrelsen for kartet.
int getPlayOption ()
Avspillingsalternativet (Stop, Reverse, Repeat) som brukes av glidebryteren etter at visualiseringen har blitt spilt en gang.
dobbelt getReferenceScale ()
Kartets referanseskala som en representativ brøk.
IEnumRelationshipClass getRelationshipClasses ()
Minneforholdsklassene.
kort getScreenCacheID (int fase, objektdata)
Skjermbuffer -ID -en som brukes til å tegne den angitte fasen.
IScreenDisplay getScreenDisplay ()
Skjermvisningen som brukes av visningen.
IEnumElement getSelectedElements ()
De valgte elementene.
ISeleksjon getSelection ()
Utvalget.
IEnvelope getSelectionBounds (ID -display)
Grensene for utvalget.
int getSelectionCount ()
Antall valgte funksjoner.
String getServiceLayerCreditsText (strengseparator)
Få tekst til tjenestelaget.
tomrom getSizeMax (_ULARGE_INTEGER [] pcbSize)
getSizeMax
ISpatialReference getSpatialReference ()
Den romlige referansen til kartet.
IStandaloneTable getStandaloneTable (int indeks)
Den frittstående tabellen ved den angitte indeksen.
int getStandaloneTableCount ()
Antall frittstående bord.
ITable getTable (int index)
Tabellen ved den angitte indeksen.
int getTableCount ()
Antall bord.
Layer getTimeExtentDefinitionLayer ()
Det tidsaktiverte laget som definerer tidsomfanget av kartet.
int getTimeExtentOption ()
Angir hvordan tidsomfanget på kartet er definert.
ITimeReference getTimeReference ()
Tidsreferansen (tidssoneinformasjon, sommertid, etc.) knyttet til kartet.
int getTimeRelation ()
Tidsforhold brukt med tidsvinduet for kartet.
ITimeValue getTimeValue ()
Tidsgraden dataene vises på kartet.
String getTipText (dobbelt x, dobbelt y)
Tipsteksten som skal vises på det angitte stedet.
int getTopFilterIndex ()
Faseindeks som supplerer TopFilterPhase.
int getTopFilterPhase ()
Den høyeste fasen i tegningsrekkefølgen som bruker et visningsfilter.
int hashCode ()
hashkoden for dette objektet
boolsk hasTimeData ()
Angir om kartet har et tidsaktivert lag.
IMap hitTestMap (IPoint -plassering)
Returnerer alle kart som finnes i visningen på det angitte stedet.
tomrom insertLayer (ILayer pLayer, boolsk autoArrange, int posisjon)
Setter inn et lag på den angitte posisjonen.
tomrom insertLayerInGroup (IGroupLayer pGroup, ILayer pLayer, boolean autoArrange, int position)
Setter inn et lag ved en gitt indeks for kartets gruppelag.
tomrom insertLayers (IEnumLayer pLayers, boolsk autoArrange, int posisjon)
Setter inn lag på den angitte posisjonen.
tomrom insertLayersInGroup (IGroupLayer pGroup, IEnumLayer pLayer, boolean autoArrange, int position)
Setter inn lag ved en gitt indeks for kartets gruppelag.
boolsk er aktiv ()
Angir om visningen er aktiv eller ikke.
boolsk isAutoCacheActive ()
Angir om autocachen er aktiv.
boolsk erCacheable ()
Angir om en kartbuffer kan opprettes.
boolsk isClipGridAndGraticules ()
Klipp rutenett og grtikler i datastørrelse
boolsk isConserveMemory ()
Angir om det skal være konservativt når du tildeler ressurser.
boolsk isDelayBackgroundDraw ()
Angir om bakgrunnen skal tegne umiddelbart.
tomrom isDirty ()
er skittent
boolsk isDisplayEachTimestamp ()
Angir om data for hvert tidsstempel vil bli tegnet når du spiller tidsvisualiseringen.
boolsk isDrawing ()
Angir om utsikten for øyeblikket tegner eller ikke.
boolsk isDynamicMapEnabled ()
Angir om dynamisk kart er slått på eller av.
boolsk isDynamicTimeRefresh ()
Angir om dataene på kartet oppdateres når du flytter tidsglidebryteren dynamisk.
boolsk isExpanded ()
Angir om kartet er utvidet.
boolsk isExternalDrawing (int fase)
Indikerer om eksterne klienter tegner som svar på den angitte fasen.
boolsk isFramed ()
Angir om kartet er tegnet i en ramme i stedet for på hele vinduet.
boolsk isHasLiveData ()
Angir om kartet har et tidsaktivert lag som oppdateres ofte med nye data.
boolsk isLayerVisible (ILayer -lag)
Sjekk om laget er synlig.
tomrom isLayerVisibleEx (ILayer -lag, boolsk [] isLayerVisible, boolean [] isParentLayerVisible)
Sjekk om laget er synlig.
boolsk isMapActivated ()
Indikerer om fokuskartet er aktivert.
boolsk isProgressiveDrawing ()
Angir om visningen gradvis skal oppdatere vinduet under tegning.
boolsk isScaleLimit ()
Angir om det er en skalagrense.
boolsk isShowRulers ()
Angir om linjaler er synlige.
boolsk isShowScrollBars ()
Angir om rullefeltene er synlige.
boolsk isShowSelection ()
Angir om valget er synlig.
boolsk isShowTime ()
Angir om tiden er aktivert på kartet.
boolsk isShowTimeOnDisplay ()
Angir om tiden vises på kartet.
boolsk isSimulateLayerEffectsInLegends ()
Angir om det skal simuleres åpenhet og andre effekter i legender.
boolsk isSpatialReferenceLocked ()
Angir om den romlige referansen er forhindret i å bli endret.
boolsk isUseMasking ()
Angir om maskering skal brukes.
boolsk isUsesFilter ()
Indikerer om det nåværende objektet tegner ved hjelp av et filter.
boolsk isUsesPageCoordinates ()
Angir om visningen bruker sidekoordinater.
boolsk isUseSubPixelRendering ()
Indikerer om det dynamiske kartet gjengis i underpiksler eller fullpiksler (klikk til nærmeste diskrete piksel).
boolsk isUseSymbolLevels ()
Angir om kartet tegner ved hjelp av symbolnivåer.
boolsk isVerboseEvents ()
Angir om det skal utvides eller begrenses antall hendelser som utløses.
tomrom last (IStream pstm)
laste
IEnumElement lokaliseringselementer (IP -punkt, dobbel toleranse)
Returnerer elementene på den gitte koordinaten.
IEnumElement findElementsByEnvelope (IEnvelope envelope)
Returnerer elementene inne i den gitte konvolutten.
tomrom moveBookmarkTo (ISpatialBookmark bokmerke, int indeks)
Flytter et bokmerke i samlingen.
tomrom moveElementFromGroup (IGroupElement group, IElement element, int zorder)
Flytt elementet fra gruppen til beholderen.
tomrom moveElementToGroup (IElement -element, IGroupElement -gruppe)
Flytt elementet fra beholderen til gruppen.
tomrom moveLayer (ILayer -lag, int toIndex)
Flytter et lag til en annen posisjon.
tomrom moveLayerEx (IGroupLayer pFromGroup, IGroupLayer pToGroup, ILayer pLayer, int newPosition)
Flytter laget med på kartet.
IElement neste ()
Returnerer neste grafikk i beholderen.
tomrom onMessage (int msg, int wParam, int lParam)
Ring fra programmets meldingssløyfe for å aktivere automatisk størrelse og tastaturakseleratorer.
tomrom output (int hDC, int dpi, tagRECT pixelBounds, IEnvelope visibleBounds, ITrackCancel trackCancel)
Gjør visningen til den angitte DC.
tomrom partialRefresh (int phase, Object data, IEnvelope envelope)
Tegner den angitte visningsfasen.
tomrom partialRefreshShape (int phase, Object data, IGeometry geometry, double symbolSizePoints)
Oppdaterer den angitte formen i den angitte visningsfasen.
tomrom printerChanged (IPrinter -skriver)
Ringes av applikasjon når skriveren endres.
tomrom putElementOrder (objektrekkefølge)
Privat ordreobjekt.
tomrom readExternal (ObjectInput in)
tomrom recalcFullExtent ()
Tvinger hele omfanget til å bli beregnet på nytt.
tomrom oppdater ()
Får hele visningen til å tegne.
tomrom refreshAutoCache ()
Oppdater autocachen.
tomrom refreshCaches ()
Omfordel skjermbufferne.
tomrom refreshItem (objektdata)
Bruk for å tegne et bestemt element og innholdet over det.
tomrom removeAllBookmarks ()
Fjerner alle bokmerker.
tomrom removeAllStandaloneTables ()
Fjerner alle frittstående tabeller fra samlingen.
tomrom removeAllTables ()
Fjerner alle tabeller fra samlingen.
tomrom removeBookmark (ISpatialBookmark bokmerke)
Fjerner et bokmerke fra samlingen.
tomrom removeIActiveViewEventsListener (IActiveViewEvents theListener)
removeIActiveViewEventsListener.
tomrom removeIDynamicMapEventsListener (IDynamicMapEvents theListener)
removeIDynamicMapEventsListener.
tomrom removeIMapEventsListener (IMapEvents theListener)
removeIMapEventsListener.
tomrom removeStandaloneTable (IStandaloneTable -tabell)
Fjerner det frittstående bordet fra samlingen.
tomrom removeTable (ITable -tabell)
Fjerner et bord fra samlingen.
tomrom nullstille ()
Tilbakestill den interne markøren slik at Next returnerer det første elementet.
tomrom resolutionUpdated (ITransformEventsResolutionUpdatedEvent theEvent)
Varsler klienter når oppløsningen er oppdatert.
tomrom rotationUpdated (ITransformEventsRotationUpdatedEvent theEvent)
Varsler klienter når rotasjonsvinkelen oppdateres.
tomrom lagre (IStream pstm, int fClearDirty)
lagre
tomrom selectAllElements ()
Velger alle elementene.
tomrom selectByShape (IGeometri -form, ISelectionEnvironment env, boolsk justOne)
Velger funksjoner på kartet gitt en form og et utvalgsmiljø (valgfritt).
IElement selectedElement (int indeks)
Returnerer det nth valgte elementet.
tomrom selectElement (IElement -element)
Velger det angitte elementet.
tomrom selectElements (IEnumElement -elementer)
Velger de angitte elementene.
tomrom selectFeature (ILayer -lag, IFeature -funksjon)
Velger en funksjon.
tomrom selectionChanged (ISelectionEventsSelectionChangedEvent theEvent)
Ring denne funksjonen for å utløse hendelsen som er endret.
ISelectionTracker selectionTracker (int indeks)
Returnerer trackeren for det niende valgte elementet.
tomrom sendBackward (IEnumElement -elementer)
Flytt de angitte elementene et skritt nærmere bunnen av stabelen med elementer.
tomrom sendToBack (IEnumElement -elementer)
Få de spesifiserte elementene til å trekke seg bak alle andre elementer.
tomrom setActiveGraphicsLayerByRef (ILayer graphicsLayer)
Det aktive grafikklaget.
tomrom setAnnotationEngineByRef (IAnnotateMap annotateMap)
Annotasjonsmotoren (etiketten) som kartet vil bruke.
tomrom setAreaOfInterest (IEnvelope rhs1)
Interesseområde for kartet.
tomrom setAutoCacheActive (boolsk aktiv)
Angir om autocachen er aktiv.
tomrom setAutoExtentBounds (IEnvelope -grenser)
Kartets grenser som vises av rammen.
tomrom setAutoExtentLayerByRef (IFeatureLayer -lag)
Auto omfang funksjoner.
tomrom setAutoExtentMapByRef (IMap -kart)
Kart for automatisk utstrekning.
tomrom setAutoExtentMargin (dobbel margin)
Auto omfangsmargin.
tomrom setAutoExtentMarginUnits (int -enheter)
Automatisk utstrekningsmargin.
tomrom setAutoExtentScale (dobbel skala)
Skalaen som kartet skal vises på.
tomrom setAutoExtentType (int type)
Måten kartomfanget av rammen er spesifisert på.
tomrom setClipBorder (IBorder border)
En valgfri kant tegnet rundt ClipGeometry.
tomrom setClipBounds (IGeometry rhs1)
Angi en grense du vil klippe til.
tomrom setClipData (objektdata)
Angir eller returnerer utvidede klippetypedata, dvs. annet kart når typen er esriMapClipMapExtent.
tomrom setClipFilter (ISet -lag)
Angir eller returnerer settet med lag som vil bli ekskludert fra klipping.
tomrom setClipGeometry (IGeometry clipGeometry)
En form som lagene på kartet klippes til.
tomrom setClipGridAndGraticules (boolsk pClipGridAndGraticules)
Klipp rutenett og grtikler i datastørrelse
tomrom setClipType (int type)
Metode som brukes til å klippe lag på kart.
tomrom setConserveMemory (boolsk flagg)
Angir om det skal være konservativt når du tildeler ressurser.
tomrom setCopyrightText (String copyright)
Opphavsrettsinformasjon knyttet til kartet.
tomrom setCurrentTimeExtentByRef (ITimeExtent timeExtent)
Den nåværende tidsomfanget av kartet.
tomrom setDefaultTimeInterval (dobbeltintervall)
Tidsintervallet som skal brukes av tidsglidebryteren for å animere kartet.
tomrom setDefaultTimeIntervalUnits (int -enheter)
Tidsintervallene som skal brukes til å animere kartet.
tomrom setDefaultTimeWindow (dobbel varighet)
Tidsvinduet som brukes til å vise dataene på kartet.
tomrom setDelayBackgroundDraw (boolsk flagg)
Angir om bakgrunnen skal tegne umiddelbart.
tomrom setDescription (String descr)
Beskrivelse av kartet.
tomrom setDisplayDateFormat (String dateFormat)
Datoformatet som vises på tidsglidebryteren.
tomrom setDisplayEachTimestamp (boolsk verdi)
Angir om data for hvert tidsstempel vil bli tegnet når du spiller tidsvisualiseringen.
tomrom setDisplaySpeed ​​(int hastighet)
Glidebryterens hastighet på en skala fra 1 til 10 med 10 som den raskeste.
tomrom setDisplayTimeFormat (String timeFormat)
Formatet for tiden som vises på tidsglidebryteren.
tomrom setDistanceUnits (int unitsCode)
Avstandsenhetene for kartet.
tomrom setDomainDefiningLayer (ILayer -lag)
Returnerer laget som definerer kartdomenet, 0 hvis domenet er foreningen av alle lagene.
tomrom setDominantElementByRef (IElement dominantItem)
Dominerende element.
tomrom setDynamicDrawRate (int dynamicDrawRateMS)
Den dynamiske trekkfrekvensen i millisekunder.
tomrom setDynamicMapEnabled (boolsk isEnable)
Angir om dynamisk kart er slått på eller av.
tomrom setDynamicTimeRefresh (boolsk flagg)
Angir om dataene på kartet oppdateres når du flytter tidsglidebryteren dynamisk.
tomrom setElementSelectionByRef (ISelection selectionObject)
Objekt som skal brukes til valg av elementer.
tomrom setExpanded (boolsk utvidet)
Angir om kartet er utvidet.
tomrom setExtent (IEnvelope -omfang)
Det synlige omfanget rektangel.
tomrom setExternalDrawing (int fase, boolsk ekstern tegning)
Indikerer om eksterne klienter tegner som svar på den angitte fasen.
tomrom setFeatureSelectionByRef (ISelection selection)
Funksjonsvalget for kartet.
tomrom setFocusMapByRef (IMap activeMap)
Kartet som verktøy og kontroller virker på.
tomrom setFullExtent (IEnvelope -omfang)
Fullt rektangel.
tomrom setFullTimeExtentByRef (ITimeExtent timeExtent)
Returnerer heltidsomfanget av de tidsaktiverte lagene på kartet.
tomrom setHasLiveData (boolsk flagg)
Angir om kartet har et tidsaktivert lag som oppdateres ofte med nye data.
tomrom setIsFramed (boolsk flagg)
Angir om kartet er tegnet i en ramme i stedet for på hele vinduet.
tomrom setIsMapActivated (boolsk isMapActivated)
Indikerer om fokuskartet er aktivert.
tomrom setLevelMasking (ILayer maskedLayer, ILayer maskingLayer, String pLevels)
Symbolnivåene som maskeringen gjelder.
tomrom setMapScale (dobbel skalaRF)
Kartets skala som en representativ brøkdel.
tomrom setMapUnits (int unitsCode)
Enhetene for kartet.
tomrom setMaskingLayers (ILayer -lag, ISet maskingLayers)
Masker for et lag.
tomrom setMaxScale (dobbel pMaxScale)
Maksimal skala for hurtigbufferen som skal bygges.
tomrom setName (strengnavn)
Navn på kartet.
tomrom setNonFrameBackgroundByRef (IBackground rhs1)
Bakgrunnen som skal brukes når du tegner til andre destinasjoner enn en ramme.
tomrom setOutputBandSize (int kilobytes)
Størrelse tildelt for hvert bånd når båndutgang.
tomrom setOverposterPropertiesByRef (IOverposterProperties overposterProperties)
Overposter kartet vil bruke til merking.
tomrom setPageSize (dobbel breddeInches, dobbel høydeInches)
Angir sidestørrelsen for kartet (valgfritt).
tomrom setPlayOption (int alternativ)
Avspillingsalternativet (Stop, Reverse, Repeat) som brukes av glidebryteren etter at visualiseringen har blitt spilt en gang.
tomrom setProgressiveDrawing (boolsk flagg)
Angir om visningen gradvis skal oppdatere vinduet under tegning.
tomrom setReferenceScale (dobbel skalaRF)
Kartets referanseskala som en representativ brøk.
tomrom setScaleLimit (boolsk begrenset)
Angir om det er en skalagrense.
tomrom setSelectionByRef (ISelection selection)
Utvalget.
tomrom setShowRulers (boolsk showRulers)
Angir om linjaler er synlige.
tomrom setShowScrollBars (boolsk showScrollBars)
Angir om rullefeltene er synlige.
tomrom setShowSelection (boolsk showRulers)
Angir om valget er synlig.
tomrom setShowTime (boolsk flagg)
Angir om tiden er aktivert på kartet.
tomrom setShowTimeOnDisplay (boolsk flagg)
Angir om tiden vises på kartet.
tomrom setSimulateLayerEffectsInLegends (boolsk flagg)
Angir om det skal simuleres åpenhet og andre effekter i legender.
tomrom setSpatialReferenceByRef (ISpatialReference spatialRef)
Den romlige referansen til kartet.
tomrom setSpatialReferenceLocked (boolsk låst)
Angir om den romlige referansen er forhindret i å bli endret.
tomrom setTimeExtentDefinitionLayerByRef (ILayer -lag)
Det tidsaktiverte laget som definerer tidsomfanget av kartet.
tomrom setTimeExtentOption (int alternativ)
Angir hvordan tidsomfanget på kartet er definert.
tomrom setTimeReferenceByRef (ITimeReference timeReference)
Tidsreferansen (tidssoneinformasjon, sommertid, etc.) knyttet til kartet.
tomrom setTimeRelation (int relasjon)
Tidsforhold brukt med tidsvinduet for kartet.
tomrom setTimeValueByRef (ITimeValue time)
Tidsgraden dataene vises på kartet.
tomrom setTopFilterIndex (int phaseIndex)
Faseindeks som supplerer TopFilterPhase.
tomrom setTopFilterPhase (int fase)
Den høyeste fasen i tegningsrekkefølgen som bruker et visningsfilter.
tomrom setUseMasking (boolsk flagg)
Angir om maskering skal brukes.
tomrom setUseSubPixelRendering (boolsk brukSubPixelRendering)
Angir om det dynamiske kartet gjengis i underpiksler eller fullpiksler (klikk til nærmeste diskrete piksel).
tomrom setUseSymbolLevels (boolsk flagg)
Angir om kartet tegner ved hjelp av symbolnivåer.
tomrom setVerboseEvents (boolsk verboseEvents)
Angir om det skal utvides eller begrenses antall hendelser som utløses.
tomrom sort Bokmerker (boolsk stigende)
Legger til et bokmerke i samlingen.
tomrom suppressForegroundDraw ()
Ring før du bruker Output for å forhindre at AfterDraw (esriViewForeground) blir avfyrt.
tomrom unitsUpdated (ITransformEventsUnitsUpdatedEvent theEvent)
Varsler klienter når enhetene oppdateres.
tomrom unselectAllElements ()
Fjerner alle elementene.
tomrom unselectElement (IElement -element)
Opphever valget av det angitte elementet.
tomrom unselectElements (IEnumElement -elementer)
Fjerner de angitte elementene.
tomrom updateElement (IElement -element)
Egenskapene til det grafiske elementet er endret.
tomrom visibleBoundsUpdated (ITransformEventsVisibleBoundsUpdatedEvent theEvent)
Varsler klienter når de synlige grensene oppdateres.
tomrom writeExternal (ObjectOutput out)
Metoder arvet fra klassen java.lang.Object
klone, fullføre, getClass, varsle, varsle alle, toString, vent, vent, vent
Metoder arvet fra grensesnittet com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release

Kast: IOException - hvis det er interop -problemer UnknownHostException - hvis det er interop -problemer

Konstruer et kart ved å bruke en referanse til et slikt objekt returnert fra ArcGIS Engine eller Server. Dette tilsvarer semantisk å kaste obj til Map.


Det er ikke lenger en nyhet at den føderale regjeringen utelukket ethvert forsøk på å søke revisjon av dommen fra Den internasjonale domstolen (ICJ) som satt i Haag over den omstridte Bakassi -halvøyen med den begrunnelse at saken var avsluttet siden 10. oktober 2012.
Men forestillingen om at det ikke var noen vits å gråte over sølt melk, klarer ikke å ta opp ulike kritiske grunnleggende spørsmål og spørsmålet om bortfall av nigerianske regjeringstjenestemenn ved å forutse tiltak fra Kamerun og Frankrike som tar forebyggende tiltak og andre tiltak som kunne ha redusert landets tap i den pinlige situasjonen.Sikkert, Nigeria led av en nedgang i prestisje og status for å ha ansiktet gnidd i gjørmen av Kamerun, en situasjon forverret av det faktum at folk i det gamle østlige Nigeria fortsatt pleier følelsen av at Gowon overlot Bakassi til Kamerun som en forhandling for å vinne Biafra -krigen.
Det som var mer irriterende for noen var oppfordringen fra president Jacques Chirac fra Frankrike til president Obasanjo om å komme over til Paris for et parley med president Paul Biya i Kamerun for å be begge parter om å følge den avgjørelsen domstolen ga ned. Hvis det var tid til å være mistenksom overfor den franske forbindelsen, var det på det tidspunktet, men vår tidligere president Obasanjo var uvitende enig i å spille ball. Nigeria burde til og med ha luktet en rotte i lys av nasjonaliteten til presidenten for ICJ og andre omstendigheter rundt.
Sjef Richard Akinjide, en tidligere nigeriansk statsadvokat og justisminister beskrev ICJs avgjørelse som "50% internasjonal lov og 50% internasjonal politikk", "åpenbart partisk og urettferdig", "en total katastrofe" og en "fullstendig katastrofe" bedrageri".
Han sa også at når det gjelder saken mellom Nigeria og Kamerun, var tvisten egentlig mellom Nigeria og Frankrike. Kamerun var bare fullmektig for Frankrike. Det er ingen tvil om at i loven og faktisk at Bakassi tilhører Nigeria fordi det støttes av mye dokumentasjon som ble levert for retten. Men som retten ignorerte ... Du ber ikke noen om å overføre det som tilhører deg. Han sa videre "så langt jeg er bekymret, er dommen til ICJ en fullstendig svindel og uakseptabel ... Hvis Bakassi virkelig tilhører Kamerun, hvordan kan Kamerunere be dem om å overføre det til dem".
Dommen var imidlertid "en voldtekt og uforutsett potensiell internasjonal konspirasjon mot nigeriansk territoriell integritet og suverenitet" og "en del av et vestlig knep for å skape og videreføre problemer i Afrika".
Men fra mitt eget synspunkt er det urettferdig for ICJ å avgjøre en slik dom uten å vurdere alternativet folkeavstemning eller folkeavstemning for innbyggerne i Bakassi. ICJ -dommen på Bakassi -halvøya og dens innbyggere er avsky for loven om naturlig rettferdighet, rettferdighet og god samvittighet. Hvordan kan du bestemme skjebnen og livet til en annen mann uten å søke etter hans mening og historie? Folket i Bakassi har rett til selvbestemmelse. Vi tror det verste du kan gjøre mot noen mann i denne siviliserte verden i dag, er å nekte ham hans grunnleggende menneskerettigheter. Innbyggerne i Bakassi har blitt nektet retten til "selvbestemmelse". De ble ikke tatt i betraktning eller til og med gitt sjansen til å indikere hvor de ønsker å tilhøre selv FN, som ICJ er et organ for, ville legge tilstrekkelig vekt på folket i Bakassi de ville ha beordret en folkeavtale til, i det minste , gi tro på selvbestemmelsesrettighetene, som er et av prinsippene som FN er bygget på.
ICJ burde ikke ha avstått folket i Bakassi og deres land i Nigeria (som er deres 'naturlige fødested' og hvor deres forfedre er begravet), til Kamerun. Spørsmålet her er at: Er det ikke hensiktsmessig og viktig for ICJ å ta folkeavstemning i betraktning? Var det ikke nødvendig for ICJ å ta initiativ til en mer omfavnende diplomatisk tilnærming som ville gi Bakassi -folket sjansen til å bestemme skjebnen selv? Snarere enn å sitte i rettssalen deres i Haag og forvride fremtidige generasjoner av et folk med bare et slag av hammaren.
I henhold til internasjonal beste praksis er samtykke fra mennesker som er bosatt i et territorium (ved folkeavstemning) en betingelse-presedens for enhver overføring eller endring av eiendomsrett over territoriet de okkuperer. Selv da skjebnen til Nord- og Sør -Kamerun skulle bestemmes, ble det i 1961 gjennomført en folkeavstemning, der Sør -Kamerun valgte å slutte seg til Kamerun, mens Nord -Kamerun valgte å slutte seg til Nigeria. Det kan være en sak, som bekrefter det som kalles Rett til selvbestemmelse. Jeg er av den oppfatning at det fremdeles er en del av internasjonal beste praksis at innbyggere på territoriet blir konsultert og får lov til å gjøre sitt eget valg.
Fra et rent normativt perspektiv er den beste fremgangsmåten for å etablere en statsgrense en folkeavstemning gjennomført blant den interesserte befolkningen under internasjonalt tilsyn.
Historisk sett har folkeavstemning ofte blitt brukt for å rettferdiggjøre grenser i forskjellige kvartaler.
For eksempel ble Norges beslutning om å skille seg fra Sverige i 1905 fattet av det norske folk i en folkeavstemning der 99,9 prosent stemte for uavhengighet, et kraftig uttrykk for nasjonal stolthet. På samme måte holdt Island en folkeavstemning om å bli uavhengig av Danmark. Spanias vedtak av demokratiske reformer på slutten av 1970 -tallet etter diktatoren Francos død ble godkjent av folket gjennom en folkeavstemning. På samme måte har nye grunnlover blitt til gjennom folkeavstemninger i Danmark, Frankrike og Irland. Beslutningen om å gå over til flerpartipolitikk har blitt tatt ved folkeavstemning i noen afrikanske land, for eksempel Gabon og Malawi. I hvert tilfelle har det vært viktig for beslutningens legitimitet at dette skrittet mot uavhengighet eller demokrati har blitt tatt av folket direkte og ikke av den politiske eliten.
Også folkeavstemningen om suverenitet på Falkland Island/Malvinas 2013, den siste var
Folkeavstemningen om skotsk uavhengighet var en folkeavstemning om skotsk uavhengighet som fant sted i Skottland 18. september 2014.

Uavhengighetsavstemningen om uavhengighet, som velgerne svarte med "Ja" eller "Nei", var "Skal Skottland være et uavhengig land?" «Nei» -siden vant, med 2 001 926 (55,3%) som stemte mot uavhengighet og 1 617 989 (44,7%) som stemte for.
Selv folkeavstemning om Krim -status, 2014 var en folkeavstemning om statusen til Krim som ble holdt 16. mars 2014, av lovgiver i den autonome republikken Krim, så vel som av den lokale regjeringen i Sevastopol, begge underavdelinger i Ukraina den gangen. Folkeavstemningen spurte innbyggerne på Krim om de ville slutte seg til Russland som et føderalt emne, eller om de ønsket å gjenopprette Krim -grunnloven fra 1992 og Krim -status som en del av Ukraina.
Men i tilfellet med Bakassi-tvist, fikk folket aldri sjansen til å utøve sin selvbestemmelsesrett.
Selvbestemmelsesretten er et menneskerettighetsgrunnlag for FN og dets formål og et sentralt begrep i de viktigste internasjonale paktene og paktene.
Det er også en ius cogens (overbevisende lov) norm, den høyeste kategorien i folkeretten.

Ta for eksempel forskjellige bestemmelser i folkeretten som gir anerkjennelse og legitimitet til retten til selvbestemmelse:
1. Artikkel 2 i FNs erklæring om tildeling av uavhengighet til koloniale land og folk (generalforsamlingens resolusjon 1514 (XV) av 14. desember 1960: «Alle folk har rett til selvbestemmelse i kraft av økonomiske, sosiale og kulturell utvikling. "
2. Den internasjonale pakt om sivile og politiske rettigheter (FN, 1966), del I, artikkel 1: Alle mennesker har selvbestemmelsesrett. I kraft av denne retten bestemmer de fritt sin politiske status og fritt forfølger sin økonomiske, sosiale og kulturelle utvikling. Artikkel 2: Alle mennesker kan for sitt eget formål fritt disponere over sin naturlige rikdom og ressurser uten at det berører eventuelle forpliktelser som følge av internasjonalt økonomisk samarbeid, basert på prinsippet om gjensidig nytte og folkerett. I intet tilfelle må et folk fratas sitt eget livsopphold. Artikkel 3: Partene i denne konvensjonen, inkludert de som har ansvaret for administrasjon av ikke-selvstyrende og tillitsområder, skal fremme realiseringen av selvbestemmelsesretten og respektere denne retten i samsvar med bestemmelsene i De forente nasjoners pakt.
3. Handlingsprogram for full gjennomføring av erklæringen om tildeling av uavhengighet til koloniland og folk (generalforsamlingens resolusjon 2621 (XXV) ”Bekrefter at alle mennesker har rett til selvbestemmelse og uavhengighet og at underkastelse av folk til fremmed dominans utgjør en alvorlig hindring for å opprettholde internasjonal fred og sikkerhet og utvikling av fredelige forbindelser mellom nasjoner ”
4. FNs erklæring om prinsipper for internasjonal lov om vennskapelige forhold og samarbeid mellom stater i samsvar med FNs kapittel (generalforsamlingens resolusjon 2625 (XXV) av 25. oktober 1970): “I kraft av prinsippet om likestilling rettigheter og selvbestemmelse av folk som er nedfelt i kapittelet, har alle folk frihet til å bestemme uten ekstern innblanding, deres politiske status og å forfølge sin økonomiske, sosiale og kulturelle utvikling, og hver stat har plikt til å respektere denne retten i samsvar med med bestemmelsene i chartret. ”
5.Konferanse om sikkerhet og samarbeid i Europa (CSCE), Helsingfors sluttlov, 1. august 1975: «I kraft av like rettigheter og selvbestemmelse for mennesker har alle mennesker alltid rett, frihet til å bestemme, når og som de ønsker, sin interne og eksterne politiske status, uten eksterne forstyrrelser og forfølge som de ønsker deres politiske, økonomiske, sosiale og kulturelle utvikling. ”
6.African Charter of Human and Peoples Right, 1981: Artikkel 19- “(2) Ingenting skal rettferdiggjøre et folks herredømme av et annet.” Artikkel 20 - “Alle mennesker skal ha eksistensrett. De skal ha den ubestridelige og umistelige retten til selvbestemmelse. De skal fritt bestemme sin politiske status og fortsette sin økonomiske og sosiale utvikling i henhold til politikken de har valgt fritt ”.
7. Wienerklæring og handlingsprogram, 1993: “Alle mennesker har rett til selvbestemmelse. I kraft av denne retten bestemmer de fritt sin politiske status og forfølger fritt sin økonomiske, sosiale og kulturelle utvikling. "
8.Organisation for Security and Co -operation in Europe (OSCE), Paris -charteret for et nytt Europa, 1994: «Vi bekrefter folks like rettigheter og deres rett til selvbestemmelse som er uforenlig med FNs pakt og med de relevante folkerettsnormene, inkludert normer knyttet til staters territoriale integritet.
Videre har omfanget og innholdet i retten til selvbestemmelse blitt utdypet av FNs menneskerettighetskomité og komiteen for eliminering av rasediskriminering og en rekke ledende internasjonale jurister.
På bakgrunn av disse nevnte premissene kan det derfor konkluderes med at ICJ-dommen rett og slett var et brudd på menneskerettigheten til selvbestemmelse av folket i Bakassi og ulike folkerettsposisjoner.
Om implementeringen av den kontroversielle avtalen om grønt tre
Det er viktig å merke seg at overføringen av Bakassi var et grovt brudd på Nigerias grunnlov, som ikke hadde klart å innse at en del av landet hennes og dets folk har blitt gitt ut til veldedighet og at traktaten ikke ble forelagt nasjonalforsamlingen for ratifikasjon eller domestisering før den ble gitt virkning, slik grunnloven foreslo. Analyserer den juridiske effekten av posisjonen til president Muhammadu Buhari Taler onsdag 29. juli, under en interaktiv sesjon med nigerianere bosatt i Kamerun, sier Nigeria vil følge avgjørelsen fra Den internasjonale domstolen (ICJ) på Bakassi -halvøya og sa hans administrasjonen vil sikre en trofast gjennomføring av Green Tree -avtalen, som regulerer avståelse av Bakassi til Kamerun.
Buhari bør ikke glemme det faktum at det nigerianske senatet avviste overføringen av Bakassi til Kamerun 22. november 2007, siden Green Tree -avtalen som avslo området til Kamerun var i strid med § 12 (1) i grunnloven fra 1999. Uavhengig av dette ble territoriet formelt overført til Kamerun 14. august 2008 av Obasanjo -administrasjonen.
Selv om seksjon 12 ikke gir nasjonalforsamlingen noen juridisk rolle i ratifiseringen av traktater (eller inngåelse av traktater), men involverer den heller i gjennomføringen (eller domesticering) av traktater. Ratifikasjon er prosessen der en stat (i dette tilfellet Nigeria) i det internasjonale flyet fastslår sitt samtykke til å være bundet av en traktat (se artikkel 1 i Wienkonvensjonen om traktatloven 1969).
Selv om implementeringen (eller domesticeringen) er prosessen der en traktat som gyldig er inngått av en stat blir vedtatt (eller domesticert) som lovgivning, slik at den kan ha virkning i det innenlandske planet. Del 12 gjelder implementering (eller domesticering) av traktater og sier at:
"Ingen traktat mellom føderasjonen og et annet land skal ha lovmakt bortsett fra i den grad en slik traktat er blitt vedtatt av nasjonalforsamlingen".
Sideforklarende note i avsnitt 12, sammen med punkt 31 i den eksklusive lovgivende listen, gjør det klart at nasjonalforsamlingens lovgivende rolle er viktig for gjennomføringen av traktater.
Et annet scenario er at Wienerkonvensjonen om traktatrett som nevnt i artikkel 46 (1) sier: "En stat kan ikke påberope seg at dens samtykke til å være bundet av en traktat er uttrykt i strid med en bestemmelse av dens interne lov angående kompetanse til å inngå traktater som ugyldiggjørende for samtykket, med mindre dette bruddet var åpenbart og gjaldt en regel i dens interne lov av grunnleggende betydning. "
Artikkel 46 (2) presenterte ytterligere noen presiseringer av bestemmelsene ovenfor: - "Et brudd er åpenbart hvis det ville være objektivt åpenbart for en stat som opptrer i saken i henhold til normal praksis og i god tro."

Disse bestemmelsene i Wien -konvensjonen om traktatrett gir Nigeria også muligheten til å utfordre brudd på dets interne prosedyrer for legitimering av traktater/avtaler som Green Tree -avtalen fra 2006 ikke fulgte. I henhold til den nigerianske grunnloven kan traktaten ikke gjelde, unntatt og med mindre og bare i den grad en slik traktat er blitt omgjort til nigeriansk lov. Siden traktaten ikke er godkjent av den (nigerianske) nasjonalforsamlingen for domestisering, kan ikke Nigeria utføre bestemmelsene i den avtalen. Traktaten burde ha blitt omgjort til nigeriansk lov før den nigerianske regjeringen iverksatte den. Det er derfor innbyggerne i Bakassi føler seg opprørt over at de nødvendige tiltakene ikke hadde blitt iverksatt før territoriet ble overført til et fremmed land.

Flere rapporter har med forferdelse notert nivået på omsorgssvikt, forlatelse og uforklarlig mishandling av urbefolkningen i Bakassi etter å ha avstått landet sitt til Kamerun av den nigerianske regjeringen under den såkalte Green Tree Agreement (GTA) signert av Olusegun Obasanjo -administrasjonen 12. juni. , 2006 i New York.

Konklusjon
Til tross for at den nigerianske regjeringen har akseptert fakta om tap av territoriet, er det fortsatt to alternativer som den nigerianske regjeringen kan utforske:
Det første alternativet er å presentere for FN for å benytte vinduet som vil gjøre det mulig for innbyggerne i Bakassi å gjennomføre en folkeavstemning og selv bestemme hvor de vil høre til i samsvar med folkeretten og alle prinsipper for rettigheter til selvbestemmelse. Det er nødvendig for den nigerianske regjeringen å avvise Green Tree -avtalen og ta tilbake Bakassi -halvøya. Eller enda bedre, ICJ -avgjørelsen fra Bakassi til Kamerun bør reverseres. Ikke før innbyggerne i Bakassi får den nødvendige muligheten til å utøve sin selvbestemmelsesrett, vil ICJ på Bakassi forbli urettferdig, urettferdig, grusom og en galant voldtekt mot Bakassifolkets rettigheter og skjebne.
Det andre alternativet Ifølge professor Akin Oyebode, professor i internasjonal lov og diplomati Unilag under 2 -års jubileumsforedraget for CrossRiverWatch på Transcorp Hotel i Calabar 27. august 2014, sa han: "Den nigerianske regjeringen kan gi et pengetilbud til Kamerun i et forsøk på å kjøpe halvøya på nytt, en situasjon som ikke er uten fortrinn i historien ”.
Bakassi bør besøkes på nytt fordi det handler om menneskene og ikke så mye om olje. Dessverre er det olje det er mye snakk om. Men menneskene er veldig viktige.
Det skal også påpekes tydelig at det ikke er noen måte at Kamerun kan utnytte Bakassi -ressursene uten å ta hensyn til Nigeria og nigerianernes interesse. Fordi hvis de ønsker å gjøre krav på kontinentalsokkelen under havrett, må påstanden deres overlappe kravet til Nigeria fordi man ser på geografien, på kartet over Kamerun, sokkelen deres låst slik den er i folkeretten de har ikke nok plass til å utnytte eller å kreve 200 nautiske mil, som folkeretten gir dem. Dette er fordi Nigeria også har et krav på 200 miles, så det kommer til å bli en konflikt. Derfor kan Nigeria foreslå dem å delta i "enhet eller felles utviklingssone" for utnyttelse av ressursene. Og ta dem med i den ordningen vi har etablert med land som Ekvatorial -Guinea og Sao Tome og Principe, der Nigeria og si Ekvatorial -Guinea og Sao Tome og Principe i fellesskap vil utnytte ressursene, og inntektene deles på 60: 40 -forhold. Med andre ord, slik kan du beskytte interessen til nigerianere og samtidig la Kamerun dra nytte av ressursene som er gitt på territoriet.
Råd til nasjonalforsamlingen
Jeg bruker også denne muligheten til å gå inn for at seksjon 12 i den nigerianske grunnloven umiddelbart skal endres uten forsinkelse, for å innlemme en rolle for nasjonalforsamlingen (helst senatet) i ratifikasjonsprosessen for traktaten på en måte som ligner på det som er tilgjengelig i USA og Ghana.
Imidlertid, til en slik endring er gjort i grunnloven, gjenstår det faktum at den utøvende, gjennom presidenten, vil fortsette å ensidig inngå og ratifisere traktater uten innspill fra nasjonalforsamlingen. Siden denne endringen futuristisk vil fungere som en sjekk og balanse for å unngå en lignende feilaktig kontroversiell situasjon i avtalen om grønt tre.


ComponentOne -rapporter for WinForms

Varemerker ComponentOne -produktnavnet er et varemerke, og ComponentOne er et registrert varemerke for GrapeCity, Inc. Alle andre varemerker som brukes her, tilhører sine respektive eiere. Garanti ComponentOne garanterer at den originale CD -en (eller disketter) er fri for defekter i materiale og utførelse, forutsatt normal bruk, i en periode på 90 dager fra kjøpsdatoen. Hvis det oppstår en feil i løpet av denne tiden, kan du returnere den defekte CD -en (eller disken) til ComponentOne, sammen med et datert kjøpsbevis, og ComponentOne vil erstatte den uten kostnad.Etter 90 dager kan du få en erstatning for en defekt CD (eller disk) ved å sende den og en sjekk på $ 25 (for å dekke porto og håndtering) til ComponentOne. Bortsett fra den uttrykkelige garantien til den originale CD -en (eller platene) som er angitt her, gir ComponentOne ingen andre garantier, uttrykkelig eller underforstått. Alle forsøk har blitt gjort for å sikre at informasjonen i denne håndboken er korrekt fra den ble skrevet. Vi er ikke ansvarlige for eventuelle feil eller mangler. ComponentOnes ansvar er begrenset til beløpet du betalte for produktet. ComponentOne er ikke ansvarlig for spesielle, følgeskader eller andre skader av en eller annen grunn. Kopiering og distribusjon Selv om du er velkommen til å ta sikkerhetskopier av programvaren for eget bruk og beskyttelse, har du ikke lov til å lage kopier for bruk av noen andre. Vi legger ned mye tid og krefter på å lage dette produktet, og vi setter pris på din støtte for å se at det bare brukes av lisensierte brukere.

Denne håndboken ble produsert ved hjelp av ComponentOne Doc-To-Help ™.

Innholdsfortegnelse ComponentOne -rapporter for WinForms -oversikt. 1 Hjelp med ComponentOne Studio for WinForms. 2 Oppgradering fra VSReport 8.0. 2 Rapporter og forhåndsvisning. NET -versjoner. 3 Overføre en rapport for WinForms Project til Visual Studio 2005. 4 Konvertere en forhåndsvisning for WinForms -prosjektet til rapporter for WinForms. 5 viktige funksjoner. 9 Rapporter for WinForms komponenter og kontroller. 15 Komme i gang med rapporter for WinForms. 19 Generere rapporter (C1Report vs. C1PrintDocument). 19 Beslutning om rapportgenereringsmetode. 21 Komme i gang med rapportering. 21 C1Report Quick Start. 21 Opprette VBScript -uttrykk. 32 Komme i gang med utskrift og forhåndsvisning. 37 C1PrintDocument Hurtigstart. 37 Opprette tabeller. 43 Legge til tekst. 59 Opprette sidehoder i C1PrintDocument. 64 Tegne en horisontal linje. 68 Opprette sidefot. 69 Rapporter for WinForms beste tips. 75 C1PrintDocument Tips. 75 C1Rapporttips. 84 Kontrolltips for visuell forhåndsvisning. 86 C1ReportScheduler -tips. 88 Design-Time Support. 89 C1Rapporter oppgavemeny. 89 Kontekstmeny C1Report. 90

C1RdlReport Oppgaver -meny. 91 Kontekstmeny C1RdlReport. 91 C1MultiDocument Tasks -meny. 92 Kontekstmeny C1MultiDocument. 93 C1PrintPreviewControl Tasks -menyen. 93 smarte designere. 94 Flytende verktøylinje i hovedmenyen. 95 ToolStrip flytende verktøylinje. 100 flytende verktøylinje for miniatyrbilder. 103 Oversikt flytende verktøylinje. 104 Linjaler Flytende verktøylinje. 106 Forhåndsvisningsruten Utseende Flytende verktøylinje. 106 Flytende verktøylinje for marger. 107 Forhåndsvisningsruten Flytende verktøylinje. 108 Flytende verktøylinje for tekstsøkpanel. 110 Lokalisering. 111 Verktøylinje for lokalisering. 112 Arbeide med C1Report. 117 Sammendrag av objektmodeller. 118 Deler av en rapport. 118 Utvikle rapporter for stasjonære scenarier. 120 innebygde rapporter (lastet inn på designtid). 120 innebygde rapporter (opprettet på designtid). 121 rapporter lastet inn ved kjøretid. 122 Tilpassbare rapporter. 125 Utvikle rapporter for nettscenarier. 126 Statiske webrapporter. 126 dynamiske webrapporter. 127 Opprette, laste inn og gjengi rapporten. 132 Opprette en rapportdefinisjon. 133 Laster inn rapportdata. 138 Gruppering og sortering av data. 144 Gruppering av data. 144 Sorteringsdata. 149 Legge til løpende summer. 150 Legge til delsummer og andre aggregater. 151 Opprette kryssfanerapporter. 152

Jobber med VBScript. 153 VBScript -elementer, objekter og variabler. 153 Bruke kompatibilitetsfunksjoner: Iif og Format. 156 Bruke aggregerte funksjoner. 157 Bruke hendelsesegenskaper. 159 Formatering av et felt i henhold til verdien. 160 Skjule en seksjon hvis det ikke er data for den. 161 Vise eller skjule et felt avhengig av en verdi. 162 Be brukerne om parametere. 163 Tilbakestille sidetelleren. 164 Endre et felts dimensjoner for å lage et stolpediagram. 165 Avansert bruk. 167 Parameterforespørsler. 167 Ubundne rapporter. 169 Tilpassede datakilder. 171 Datasikkerhet. 173 Arbeide med C1RdlReport. 177 Report Definition Language (RDL). 177 Fordeler med C1RdlReport. 177 C1RdlRapportbegrensninger. 177 Laster inn en RDL -fil. 178 SSRS og ComponentOne -rapporter. 179 Arbeide med C1ReportDesigner. 181 Om C1ReportDesigner. 181 Applikasjonsknapp. 182 Design Tab. 183 Ordne kategorien. 188 Fanen Sideoppsett. 191 Forhåndsvisningsfanen. 192 Style Gallery. 195 Få tilgang til C1ReportDesigner fra Visual Studio. 198 Angi alternativer for C1ReportDesigner. 198 Opprette en grunnleggende rapportdefinisjon. 199 Endre rapportoppsettet. 207 Forbedre rapporten med felt. 209 Legge til diagramfelt. 209

Legge til gradientfelt. 214 Velge, flytte og kopiere felt. 215 Endre egenskaper for felt, seksjon og rapport. 217 Endre datakilden. 217 Opprette en hoveddetaljrapport ved hjelp av delrapporter. 217 Forhåndsvise og skrive ut en rapport. 221 Eksportere og publisere en rapport. 223 Administrere rapportdefinisjonsfiler. 223 Importere Microsoft Access -rapporter. 224 Importere krystallrapporter. 228 Kartlegging i rapporter. 229 diagrammer i flate rapporter. 229 Andre nyttige diagramegenskaper. 230 diagrammer med flere serier. 232 -serien med beregnede verdier. 232 diagrammer i grupperte rapporter. 232 aggregerte diagrammer. 234 Kart i rapporter. 236 Lag. 237 Sporing. 237 stiler. 237 Romlige steder. 238 poenglag. 238 Lines Layer. 238 KML lag. 239 Legender. 239 Kartgjennomgang. 240 Arbeide med C1ReportsScheduler. 245 Om C1ReportsScheduler. 245 Installasjon og oppsett. 245 brukergrensesnitt. 246 Tekst og statuslinje. 247 Oppgaveliste. 247 Handlingsliste. 249 Tidsplan. 251 Menysystem. 252

Arbeider med C1PrintDocument. 257 Gjengi objekter. 258 Render Objects Hierarchy. 258 Regler for innhold, posisjonering og stabling av gjengivelsesobjekter. 259 stiler. 267 klasser som avslører stilegenskapen. 267 Inline og Non-Inline Styles. 268 Omgivende og ikke-omgivende stilegenskaper. 268 Style Arv, Parent og AmbientParent. 269 ​​Stilegenskaper og standardverdier. 270 underegenskaper for komplekse stilegenskaper. 271 Beregnede stilegenskaper. 271 Avsnittobjektstiler. 272 Bordstiler. 272 Tabeller. 273 Få tilgang til celler, kolonner og rader. 273 Bord- og kolonnebredde, radhøyde. 274 grupper med rader og kolonner, topptekst og bunntekst. 275 brukercellegrupper. 277 stiler i tabeller. 277 ankre og hyperkoblinger. 278 Legge til en hyperkobling til et anker i samme dokument. 279 Legge til en hyperkobling til et anker i et annet C1PrintDocument. 279 Legge til en hyperkobling til et sted i det gjeldende dokumentet. 281 Legge til en hyperkobling til en ekstern fil. 281 Legge til en hyperkobling til en side i samme dokument. 282 Legge til en hyperkobling til en brukerhendelse. 282 Link Target Classes Hierarchy. 284 Uttrykk, skript, etiketter. 284 tagger. 284 Tagger/uttrykk syntaks. 285 Redigere tagverdier ved kjøretid. 286 Scripting/Expression Language. 290 forsamlinger og navnerom. 291 ID -er tilgjengelig i tekstuttrykk. 291 ID -er tilgjengelig i uttrykk innen filter, gruppering og sortering. 295 ID -er tilgjengelig i uttrykk som brukes til å spesifisere beregnede felt i et datasett. 295

Databinding. 296 Databinding i gjengivelsesobjekter. 296 Databindende eksempler. 299 Datasamlinger. 303 Innholdsfortegnelse. 306 Word Index. 306 klasser som støtter indeksfunksjonen. 306 Generere en indeks i kode. 307 Tilpasse indeksens utseende. 307 Strukturen til den genererte indeksen. 309 Oversikt. 310 innebygde fonter. 311 Fontbytte. 311 Selektiv skriftinnbygging. 312 Ordbok. 312 C1Rapportdefinisjoner. 312 C1Rapporter importbegrensninger. 313 Arbeide med skriverdrivere. 314 filer for rapportdefinisjon (RDL). 316 RDL -importbegrensninger. 317 Arbeide med C1MultiDocument. 319 C1MultiDocument -begrensninger. 319 Opprette og forhåndsvise en C1MultiDocument -fil. 320 Eksportere en C1MultiDocument -fil. 321 Skrive ut en C1MultiDocument -fil. 321 C1MultiDocument Outlines. 321 Bruke C1ReportDesigner -kontrollen. 323 Trinn 1 av 9: Opprett og fyll ut hovedskjemaet. 324 Trinn 2 av 9: Legg til klassevariabler og -konstanter. 325 Trinn 3 av 9: Legg til kode for å oppdatere brukergrensesnittet. 326 Trinn 4 av 9: Legg til kode for å håndtere verktøylinjekommandoer. 327 Trinn 5 av 9: Implementer SetDesignMode -metoden. 329 Trinn 6 av 9: Implementer filstøttemetodene. 330 Trinn 7 av 9: Koble til kontrollene. 334 Trinn 8 av 9: Legg til kode for å opprette og fjerne rapporter. 337 Trinn 9 av 9: Legg til kode i Opprett felt. 341

Rapporter for WinForms -prøver. 345 Rapporter for WinForms oppgavebasert hjelp. 351 Rapportering av oppgavebasert hjelp. 351 Legge til bilder i rapporten. 351 Opprette rapportfelt. 353 Tilpasse sidehodene. 355 Tilpasse sideoppsettet. 356 Formatering av rapporter. 360 Laster rapportdefinisjoner. 363 Endre delrapporter. 365 gjengivelsesrapporter (forhåndsvise, skrive ut og eksportere). 366 Lagre en rapportdefinisjon. 369 Skrive ut og forhåndsvise oppgavebasert hjelp. 371 Angi dokumentinformasjon. 371 Skjuler navigasjonspanelet. 373 Legge til konturoppføringer i oversikten -fanen. 375 Legge til kolonner på en side. 377 Tilpasse filformatene i dialogboksen Lagre som. 380 Tegne tekst på skrå. 382 Formateringstabeller. 384 Sette inn et sideskift. 390 Utskrift i landskap. 392 Angi sidestørrelse. 396 Endre størrelse eller skalering av et bilde. 397 Legge til et vannmerkebilde. 399 Stille inn den opprinnelige zoommodusen. 400 Fjerne et element fra hurtigmenyen. 403 Deaktivere hurtigmenyen. 404

ComponentOne Reports for WinForms Oversikt ComponentOne Reports ™ for WinForms tilbyr alle verktøyene du trenger for å dekke dine behov for rapportering, utskrift, forhåndsvisning og eksport. Legg til databaserapportering i Microsoft Access-stil. Lag komplekse hierarkiske dokumenter med automatisk ordindeks, TOC -generering, databinding og mer. Eksporter, skriv ut eller forhåndsvis rapportene og dokumentene dine. Denne utgaven av Reports for WinForms kombinerer to tidligere produkter: Reports for .NET og Preview for .NET. Den fulle funksjonaliteten til de eldre rapportene for .NET -produktet beholdes, men forsamlingsnavnet og navneområdet er endret. Rapportering Generer rapporter i Microsoft Access-stil for Visual Studio. NET-applikasjonene dine raskt og enkelt med ComponentOne-rapporter for WinForms. 

C1Report-komponenten, som genererer databaserte banded-rapporter. Render rapporterer direkte til en skriver eller forhåndsvisningskontroll, eller eksporter til forskjellige bærbare formater (inkludert XLS, PDF, HTML, tekst og bilder). Komponenten viser en rik objektmodell for å lage, tilpasse, laste inn og lagre rapportdefinisjoner. Se Arbeide med C1Report for mer informasjon.

C1RdlReport -komponenten, en komponent som representerer en RDL -rapport (rapportdefinisjonsspråk) definert ved bruk av 2008 -versjonen av RDL -spesifikasjonen. C1RdlReport -komponenten ligner C1Report -komponenten med tillegg av RDL -støtte. Se Arbeide med C1RdlReport for mer informasjon.

C1ReportDesigner-designeren, et frittstående program som brukes til å lage rapportdefinisjoner uten å skrive kode. Designeren lar deg raskt opprette og redigere rapportdefinisjoner, eller importere eksisterende Microsoft Access- og Crystal -rapportdefinisjoner. Designeren etterligner Microsoft Access -grensesnittet, så hvis du for tiden bruker Microsoft Access, vil du raskt tilpasse deg bruk av C1ReportDesigner. Se Arbeide med C1ReportDesigner for mer informasjon.

C1ReportDesigner-kontrollen (ikke å forveksle med den frittstående designeren) som viser rapporter i designmodus, og lar brukerne dra, kopiere og endre størrelse på rapportfelt og seksjoner. Kontrollen gir også en ubegrenset angre/gjenta -stabel og en valgmekanisme designet for bruk med PropertyGrid -kontrollen som leveres med Visual Studio. Du kan bruke C1ReportDesigner-kontrollen til å inkorporere noen rapportdesignfunksjoner i programmene dine, eller du kan skrive din egen fullverdige rapportdesigner-applikasjon.

C1ReportsScheduler-applikasjonen, en frittstående applikasjon som brukes til å planlegge opprettelse av rapporter for å kjøre i bakgrunnen. Ved hjelp av C1ReportsScheduler -programmet kan du velge hvilke rapporter som skal eksporteres eller skrives ut, formater som rapporten skal eksporteres til, og tidsplanen og frekvensen for å opprette rapporter. Se Arbeide med C1ReportsScheduler for mer informasjon.

Skrive ut og forhåndsvise Uansett hvor enkle eller komplekse utskriftskrav du har, kan Reports for WinForms hjelpe deg med å legge til utskrifts- og forhåndsvisningsfunksjoner i prosjektet ditt raskt og enkelt. 

C1PrintDocument -komponenten gir en rik objektmodell som lar deg lage vilkårlig komplekse dokumenter i kode. Objektmodellen er spesielt rettet mot paginerte dokumenter, og tilbyr et rikt sett med funksjoner som muliggjør automatisk og intelligent paginering av komplekse strukturerte dokumenter. Dokumenter kan opprettes fullstendig i kode, eller bindes til en database via en kraftig og fleksibel databindingsmodell. C1PrintDocument kan også importere og generere rapportdefinisjoner. Se Arbeide med C1PrintDocument for mer informasjon.

C1MultiDocument -komponenten er designet for å tillate å lage, vedvare og eksportere store dokumenter som ikke kan håndteres av et enkelt C1PrintDocument -objekt på grunn av minnebegrensninger. C1MultiDocument støtter koblinger mellom inneholdte dokumenter, vanlig innholdsfortegnelse, vanlig sidetall og totalt sidetall.

Reports for WinForms visuelle forhåndsvisningskomponenter gir et kraftig, fleksibelt og brukervennlig sett med verktøy som lar deg raskt legge til dokumentvisningsfunksjoner i programmet ditt. De integrerte komponentene (C1PrintPreviewControl-kontrollen og C1PrintPreviewDialog-dialogboksen) gjør det enkelt å legge en profesjonell utseende forhåndsvisning til applikasjonene dine, mens settet med spesialiserte kontroller (C1PreviewPane, C1PreviewThumbnailView, C1PreviewOutlineView, C1PreviewTextSearchPan) så mye du trenger.

Hjelp med ComponentOne Studio for WinForms Komme i gang Hvis du vil ha informasjon om installering av ComponentOne Studio for WinForms, lisensiering, teknisk støtte, navneområder og opprettelse av et prosjekt med kontrollen, kan du gå Komme i gang med Studio for WinForms. Hva er nytt For en liste over de nyeste funksjonene som er lagt til i ComponentOne Studio for WinForms, kan du gå til Nyheter i Studio for WinForms.

Oppgradering fra VSReport 8.0 VSReport 8.0 -brukere vil ikke ha problemer med å bruke C1Report. Selv om C1Report ble fullstendig omskrevet i C# for å dra nytte av de nyeste .NET -teknologiene, er objektmodellen praktisk talt identisk med den i VSReport 8.0. C1Report bruker de samme rapportdefinisjonsfilene og implementerer alle funksjonene du er vant til, inkludert underrapporter, eksportalternativer inkludert HTML/DHTML/PDF -eksport og mye mer. C1Report inneholder også den samme kraftige Report Designer som leveres med VSView Reporting Edition, så det er like enkelt som alltid å lage og tilpasse rapportene dine. Hovedforskjellen mellom VSReport og C1Report er hvordan rapporter gjengis til forhåndsvisningskontroller: VSReport bruker VSPrinter -kontrollen til å gi forhåndsvisninger av rapporter. For eksempel vil følgende kodelinje gjengi rapporten i vsreport1 til vsprinter1 -kontrollen: 

Visual Basic VSReport1.Render (vsprinter1)

C1Report avslører et PrintDocument -objekt i stedet. Dette objektet kan brukes til å skrive ut rapporten, eller den kan festes til en forhåndsvisningskontroll, for eksempel ComponentOne C1PrintPreview eller Microsoft PrintPreviewControl. For eksempel vil følgende kodelinje gjengi rapporten i C1Report1 til C1PrintPreview1 -kontrollen: 

Visual Basic C1PrintPreview1.Document = c1r.Document

C# c1printPreview1.Document = c1r.Document

C1Report -hendelsesnavn er også forskjellige fra VSReport. Hendelsene ble omdøpt fordi VSReport har scripthandler -egenskaper med samme navn som hendelsene. I .NET må hendelser og eiendommer ha forskjellige navn. Bortsett fra disse forskjellene har kontrollene praktisk talt identiske objektmodeller. Begge implementerer RenderToFile -metoden, som gjengir rapporter til HTML, PDF og andre filtyper, og begge avslører samlinger av grupper, seksjoner og felt.

Rapporter og forhåndsvisning. NET -versjoner ComponentOne Reports for WinForms -produktet har utviklet seg gjennom flere versjoner. Den nåværende versjonen (nr. 6 i tabellen nedenfor) er en kombinasjon av .NET 2.0 Preview for .NET og Reports for .NET -produkter. Tabellen nedenfor beskriver de tilgjengelige .NET -versjonene av ComponentOne -rapportering og forhåndsvisning av produkter. Vær oppmerksom på at listen er nummerert for å skille mellom versjoner (dette produktet, Rapporter for WinForms, er nr. 6 nedenfor): #