06. juli 2002 - 00:36Der er
8 kommentarer og 1 løsning
Resource dll problem
Når jeg forsøger at kalde loadstring og forsøger at hente en streng fra en resource dll, får jeg en exception. Jeg bruger loadliberay til at lode dll med og der kommer der ingen fejl.
Dll filen er oprettet ved skrive følgende i en tekstfil: STRINGTABLE BEGIN 101, "Dette er en test"; END; Og så gemme det i formattet .rc og så complimere det (gav ingen fejl), herefter laver jeg en dll.
function LoadResourceString(Id : integer) : string; var n : integer; Buf : array[0..255] of char; begin n := LoadString(hInstance,Id,Buf,SizeOf(Buf)); if n > 0 then Result := StrPas(Buf) else Result := ''; end;
Jubii, nu virker det... Et spørgsmål til før du får dine velfortjente point. Hvordan kan man finde ud af hvor stor bufferen skal, hvis man ikke kender strengens længde???
Jeg gætter nu, da jeg altid bare laver bufferen stor nok til hvad jeg har puttet i resourcen... Jeg tror faktisk WIndows bare cutter strengen, hvis den er for lang. Men prøv. Hvis du får en fejl, så brug GetLastError til at få fejlkoden.
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.