V primeru async nalaganja podatkov v formo in posodabljanja textboxov, itd. se vam lahko zgodi da dobite napako da je controla kreirana v drugem threadu.delegate void SetTextCallback(string text);
Pravilni način za posodobitev vrednosti textboxa in drugih kontrol je z uporabo delagatov in metode za posodobitev vrednosti v textboxu. Enostavno naredimo metodo, ki posodobit vrednost textboxa.
Kokončamo z async nalaganjem in želimo prirediti vrednost kličemo metodo za nastavitev texta, ona se pa odloči če je ali nastavi ali pa kliče nov thread za nastavitev vrednosti.private void SetText(string text)
{
if (this.textBox1.InvokeRequired)
{
SetTextCallback d = new SetTextCallback(SetText);
this.Invoke(d, new object[] { text });
}
else
{
this.textBox1.Text = text;
}
}
Thursday, 15 December 2011
Update Textbox async
Friday, 14 October 2011
Naključno sem naletel na še en način registracije Propertijev v objektih, ki odpravlja pogoj da mora biti ime pri kreiranju PropertyInfo objekta enako kot sam property.
private static PropertyInfo<int> UpdateActionTypeProperty = RegisterProperty(new PropertyInfo<int>("UpdateActionType", "UpdateActionType"));
public int UpdateActionType { get; set; }
V tem primeru lahko z lambda expression registritamo property z katerim koli propertijem v objektu. Ni potrebno enako ime, če bomo napisali napačno ime se bo napaka pojavila že med samim buildom.
private static PropertyInfo<int> UpdateActionTypeProperty = RegisterProperty<int>(x => x.UpdateActionType, "UpdateActionType");
public int UpdateActionType { get; set; }
Bolj podrobno
private static PropertyInfo<int> UpdateActionTypeProperty = RegisterProperty(new PropertyInfo<int>("UpdateActionType", "UpdateActionType"));
public int UpdateActionType { get; set; }
V tem primeru lahko z lambda expression registritamo property z katerim koli propertijem v objektu. Ni potrebno enako ime, če bomo napisali napačno ime se bo napaka pojavila že med samim buildom.
private static PropertyInfo<int> UpdateActionTypeProperty = RegisterProperty<int>(x => x.UpdateActionType, "UpdateActionType");
public int UpdateActionType { get; set; }
Bolj podrobno
Tuesday, 19 July 2011
32bit aplikacije na 64bit Windows serverju ( IIS )
PRO.3 Services v osnovi na 64-bitnih aplikacijah ne delujejo. Da vzpostavimo delovanje moramo zagnati naslednji ukaz :
cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 “true”
Iz mape c:\inetpub\wwwroot\AdminScripts.
še vir : Microsoft | TechNet
-
cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 “true”
Iz mape c:\inetpub\wwwroot\AdminScripts.
še vir : Microsoft | TechNet
-
Friday, 10 June 2011
Preštevilčenje Identa - Save (session)
Primer uporabe preštevilčenja v potnih nalogih, kjer je bilo polje na bazi UniqueKey in je bilo potrebno, da se znotraj iste transakcije naprej podatki pobrišejo in se zatem omogoči zapis preštevilčenih potnih nalogov.
1.Na listi je potrebno narediti override metode save(session)
2. Poskrbeti je potrebno da je lista ki ji shranjujemo IsDitry = true

1.Na listi je potrebno narediti override metode save(session)


3. Po klicu Save() pridemo v override metode save(session), kjer moramo poskrbeti, da je vsak BO v listi IsDirty = true . Primer na sliki, prikazuje delete in insert znotraj iste transakcije.

Wednesday, 1 June 2011
Registriranje DLLjev - Network drive
Friday, 27 May 2011
ManyToOne vezave na Info objektih
e bo kdo zasledil kakšne napake pri filtriranju kombota na polja, ki jih dobimo preko ManyToOne, naj bo pozoren na Info objekt, kako je sestavljen ManyToOne.
Z kodo na zgornji sliki se je objekt ContactInfo normalno napolnil vendar je javilo napako ko sem na kombotu filtriral po ContactInfo.ShowAs npr.
Rešitev je na spodnji sliki kjer je odstranjen CSLA...
Tuesday, 1 February 2011
Dodajanje novih vlog - Aplikacijske
Če po novem dodamo nove vloge znotraj kode ( npr. CRMRoleList.SetRoles() ) ,
To se mora narediti pri vsakem deployu na drugo bazo ( Protestni, SDX, ... )
-- se NE DODA AVTOMATSKO V DB ! -- ta postopek moramo do nadaljnega narediti ročno --
To se mora narediti pri vsakem deployu na drugo bazo ( Protestni, SDX, ... )
Tuesday, 11 January 2011
Inline editing
Za dodajanje nove vrstice se omogoči property AllowNew in implementira event AddingNew:
private void
_bindingSource_AddingNew(object sender, System.ComponentModel.AddingNewEventArgs e)
{
//namesto NewEntity() seveda uporabimo dataService (da ne bo nepotrebnih komentarjev :)
e.NewObject = PFPTWorkTimesDetail.NewEntity();
}
