You have declared the function as returning a string, and then try to return a blank(!). Try using Result := ''; instead of Result := Blank;
Paul > ----- Original Message ----- > From: edsynergy <[EMAIL PROTECTED]> > To: [email protected] > Subject: [delphi-en] Try Except Usage > Date: Sat, 20 Jan 2007 16:08:25 -0000 > > > Here is a small function that extracts a string from a resource dll. > Works fine when the resource is there, and I get an EResNotFound When > one is not found. However when the code in the exception clause is run > (on EResNotFound do Result:= blank;) it immetiately gives an AV. In > fact it dos'nt matter what code I put in the exception I get the AV > I cant see what the problem is > > Best wishe Ed. > > function TformMainTasks.SetAnchorText(const ResString:string):string; > var > ls:Tstringlist; > ms:TresourceStream; > h:Thandle; > begin > > try > h := LoadLibrary(pchar('strings.dll')); > try > ms:=TresourceStream.Create(h,ResString, RT_RCDATA); > if ( Assigned(ms)) then > begin > try > ls:= TstringList.Create; > ms.Position:= 0; > ls.LoadFromStream(ms); > Result:= ls.Text; > finally > ls.Free; > // free resources > end; // try/finally > End > Else Result:= blank; > except > on EResNotFound do Result:= blank; > end; // try/except > finally > ms.Free; > FreeLibrary(h); > > // free resources > end; // try/finally > end; > Experience is something you don't get until just after you need it. -- _______________________________________________ Surf the Web in a faster, safer and easier way: Download Opera 9 at http://www.opera.com Powered by Outblaze

