Wubbable Skrevet 5. mars 2009 Del Skrevet 5. mars 2009 Jeg lurer på om en klasse som inheriter Control har et event lignendes UserControl.Load... New() fungerer ikke, siden den kjøres kun når kontrollen lages. Lenke til kommentar
GeirGrusom Skrevet 5. mars 2009 Del Skrevet 5. mars 2009 (endret) 1. Hvorfor bruker du Control istedet for usercontrol hvis du savner Load? 2. Hvorfor holder det ikke med constructoren? 3. Dette er C# forumet, det heter ikke New i C# Jeg har aldri brukt hverken Form.Load eller UserControl.Load, aldri sett poenget med dem. Endret 5. mars 2009 av GeirGrusom Lenke til kommentar
HDSoftware Skrevet 6. mars 2009 Del Skrevet 6. mars 2009 heter det ikke NEW i C#??? List<string> minliste = new List<string>(); Ser veldig ut som at NEW brukes i C# ;-) Lenke til kommentar
GeirGrusom Skrevet 6. mars 2009 Del Skrevet 6. mars 2009 (endret) Men constructoren heter ikke new i C#, den har samme navn som klassen. public class MyClass { pulic MyClass() { } ~MyClass() { } } I VB.NET heter den New() Public Class MyClass Public Sub New() End Sub Sub Finalize() End Sub End Class Endret 6. mars 2009 av GeirGrusom Lenke til kommentar
HDSoftware Skrevet 6. mars 2009 Del Skrevet 6. mars 2009 det er selvsagt riktig. Så ikek helt om det var det wubbable mente... Lenke til kommentar
Wubbable Skrevet 6. mars 2009 Forfatter Del Skrevet 6. mars 2009 Jeg har aldri brukt hverken Form.Load eller UserControl.Load, aldri sett poenget med dem. For å gjøre ting før controlen vises kanskje? (Som å sette diverse properties, starte en timer, osv) Lenke til kommentar
GeirGrusom Skrevet 6. mars 2009 Del Skrevet 6. mars 2009 (endret) Hvorfor kan du ikke gjøre det i constructoren? Det er jo akkurat det den er til. Endret 6. mars 2009 av GeirGrusom Lenke til kommentar
Wubbable Skrevet 7. mars 2009 Forfatter Del Skrevet 7. mars 2009 Hmm, jo, sant Lurer på hvorfor jeg ikke tenkte på det. Lenke til kommentar
HDSoftware Skrevet 9. mars 2009 Del Skrevet 9. mars 2009 Gjetter litt her, men kan det være at LOAD metoden er et etterheng frea en tid da man kansje ikke hadde konstruktører? Eventuellt at man kun hadde konstruktører som ikke tar parametere? I Clarion er det nemlig slik at en konstruktør ikke kan ta imot parametere. Derfor er man avhengig av å ha et mellom kall til en init metode. Kan jo hende sammenhengen er rundt dette. Men siden VS2005 er den første versjonen jeg har vært borti så aner jeg svært lite om dette Lenke til kommentar
The Jackal Skrevet 10. mars 2009 Del Skrevet 10. mars 2009 Har ikke testet .NET 1.0...men .NET 1.1 har i alle mulighet for parameter i konstruktøren. Init != Load forøvrig. Begge deler brukes i .NET (men sannsynligvis ikke på samme måte som i Clarion). Hvis du sjekker koden som blir generert i et windows forms prosjekt, så kalles init, men dette er også en generert metode. Load er jo en event, mens init er en metode. Lenke til kommentar
GeirGrusom Skrevet 10. mars 2009 Del Skrevet 10. mars 2009 Jeg gjetter at det har noe med Visual Basic å gjøre, da forms og usercontrols i VB5 og 6 ikke hadde noen constructor. Da brukte man Load for å sette slike ting. Jeg tror Load bare er en event som blir kalt når vinduet har fått en handle og er klart for bruk, men jeg vet ikke. Den er ihvertfall unødvendig etter det jeg kan se. Lenke til kommentar
HDSoftware Skrevet 10. mars 2009 Del Skrevet 10. mars 2009 Hvis det er en EVENT så er den ikke ubrukelig, selv om det er svært nær sannheten ;-) I Clarion har vi også EVENT:OpenWindow og da er vi allerede inne i ACCEPT Loppen. Det vil si lenge etter at både konstruktører og INIT er kjørt. I Clarion er det slik: Class.RUN PROCEDURE CODE Self.INIT() Self.Ask() Self.Kill() Class.Ask PROCEDURE CODE Open(Window) ACCEPT case EVENT() OF EVENT:OpenWindow // Dette blir vel det samme som LOAD i .NET . . Close(Window) og i metoden ASK så kjøres selve ACCEPT løkka, eller EVENT handleren om du vil. I Clarion kan man ikke sende parametere til en konstruktør. Derfor vil en klasse instanseres slik: MittObjekt &= new MinKlasse MittObjekt.Run() Det må selvsagt ikke være slik, men default er dette det som blir generert. Vel, dagens Clarion prat fra den Heienske siden. Må løpe. Skal rekke toget ;-) Lenke til kommentar
The Jackal Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 En grunn til å bruke Load eventen er vel kanskje for prelasting av data f.eks. Jeg ville typisk ikke koblet meg mot en database eller web service i konstruktøren i en klasse. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå