Jeg har nogle font som i C# winform som jeg skal kunne gemme i i acccess database og selvfølgelig kunne læse ind igen...
Jeg har stort set fundet ud af hvordan jeg lettest kan gøre det, men der et lille problem...
Nedenfor kan i se et lille eks. på hvordan jeg har gjort...
Font f = new Font("Arial",8);
//Lægges senere i db... string test2 = f.ToHfont().ToString();
//Læses senere fra db... IntPtr i = (IntPtr)Int32.Parse(test2);
som i måske allerede ved eller kan gætte jer til, generere metoden "ToHfont" et 32 bit int nr, så jo gerne skulle repræsentere de forskellige fonte der nu engang eksistere...problemet er blot, at det IKKE er det samme nummer som genereres hver gang koden køres! er det ikke mærkeligt?? Når det ikke er det, ja så virker det jo selvsagt heller ikke når jeg skal læse det ind fra databasen igen...den kan ikke tolke nummeret som blev ligger gemt i databasen, den siger at den ikke er en "True Type" font...trods det samme nummer virker fint i det lille eksempel...dvs. inden det bliver skrevet til databasen...
Håber meget i kan hjælpe mig med mit mytiske problem...;)
Jeg ved ikke hvor du har læst, at Font.ToHfont() skulle give et nummer der repræsentere de forskellige fonte der eksistere.
I følge msdn giver ToHfont() dig et windows handle for dit Font object. Et windows handle er en slags ID, som windows bruger til at identificere din font. Når du f.eks. åbner en fil, så får man et windows handle til denne fil. Når du så senere skal læse eller noget andet fra filen, så giver du det handle til windows så den fatter hvilken fil du snakker om.
Så det tal du har fået fra ToHfont(), identificere kun den enkelte instans af din font klasse. Det tal er forskelligt fra instans til instans, derfor kan du kun bruge det til at referer til en "levende" instans af objektet.
Hvis du prøver at afvikle følgene linier, vil du se at test1 og test2 har helt forskellige værdier.
System.Drawing.Font f = new System.Drawing.Font("Arial",8); System.Drawing.Font f2 = new System.Drawing.Font("Arial",8);
Så metoden vil ikke kunne bruges til det du prøver på, hvis du vil bruge værdien til at genoprette fonten efter formen er blevet lukket, eller font objectet er blevet disposed.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.