How to use a dll function
-
what I want is to write functions essaduas delphi for Qt, they were written within a dll. I would like to create a dll with these functions and add to my project and make use of functions. they lit externally. understand?
code
@function ReadString(lpAddress:DWORD):string;
var
i: Cardinal;
begin
Result := ''; // Inicia o resultado como nulo, caso não exista nada nesse address.
for i := 0 to 65535 do begin // Começa o loop
if PBYTE(lpAddress)^ = 0 then Break; // Se o primeiro byte for 0 (sem caracteres), sai do loop.
Result := Result + Chr(PBYTE(lpAddress)^); // Retorno da função = Retorno (caso já esteja depois do segundo loop + Caractere resultante do Chr (que retorna um caractere de um código ASCII especificado).
Inc(lpAddress); // Vai pro próximo caractere/byte.
end;
end;procedure WriteByte(lpAddress:DWORD;Value:Byte);
begin
PBYTE(lpAddress)^ := Value; // O conteúdo do pointer definido no parâmetro "lpAddress", em byte, vai ser igual ao definido no parâmetro "Value".
end;
@ -
Ok, so it really is about making use of an external .dll in a Qt application. What about Gerolfs contribution above isn't clear in this context? The point is that you need to make sure you export your application in a way that makes reuse from another application in another language possible. How you do that, is not Qt specific but something you need to look into for delphi.
-
-
No, you can use external dll's in Qt (or any other C++) applications. However, that dll needs to meet certain criteria, depending on the way you wish to use that dll. Gerolf talked about these criteria, and I suggest you search in dephi resources how to achieve this. The keyword to search for is exporting functions.
-
[quote author="aldoduju" date="1300650793"]and changed the focus, I noticed that it is easier to make the dll in the same Qt.
I wonder what kind of data to corespondete (Cardinal of Delphi) to Qt?
[/quote]
From this posting, I gather that aldoduju has changed his mind, and now instead of wanting to use a delphi-build dll in a Qt program, now wants to port his code to Qt and build the dll in Qt.