The easiest way to call a DLL from Delphi is first of all to look at the C declaration and then convert it to Delphi Pascal.
As mentioned earlier in this thread you are able to load a DLL file initially and then use it's exported functions, however another way, which I like better for many reasons, is to load the DLL dynamically.
I will give you an example.
TFoo = function (Arg1: PChar; Arg2: Integer): Boolean;
@Foo:= GetProcAddress(hLibrary, 'CaseSensitiveNameOfExportedFunction');
Foo('Will This Work ?', 0);
In this context you are loading the DLL at the time you need it and then freeing it when you are done.
As mentioned earlier about calling conventions, both stdcall and cdecl parse the arguments the same direction. The difference is how they clean up the stack after usage. In general, cdecl is used for C/C++ compiled DLLs and stdcall / safecall are recommended in general. This applies to Windows.
I hope this gave you some more clues and less confusion about calling external functions from Delphi.