aber das Ergebniss so auch zurückgegeben wird von der Funktion ist mir
ein Rätzel

Das erklärt so einiges... Das heisst also, es hängt davon ab, mit/für welche Sprach die DLL erstellt wurde?ts-soft hat geschrieben:Mit ProcedureReturn packste das Ergebnis auf dem Stack, manche DLLs legen es aber bereits dahin, so das Du den Stack nicht mehr verändern darfst um an das Ergebnis zu gelanden. Naja, so ungefährhardfalcon hat geschrieben:Sooo weit kann ich ja gar nicht mehr logisch nachdenken... Noch dazu mit meinem praktisch nicht vorhandenen ASM-Skill...
Code: Alles auswählen
Procedure VertX()
CallFunction(0,"getVertX")
ProcedureReturn
EndProcedure
Float.f = VertX()
Code: Alles auswählen
ProcedureDLL.f Excel_XLTable_GetCellAsSingle( hXLTable.l, nCol.l, nRow.l )
ProcedureReturn PeekF(CallFunctionFast( Excel_XLTable_GetCellAsSingle, hXLTable, nCol, nRow ))
EndProcedureCode: Alles auswählen
ProcedureDLL.f Excel_XLTable_GetCellAsSingle( hXLTable.l, nCol.l, nRow.l )
CallFunctionFast( Excel_XLTable_GetCellAsSingle, hXLTable, nCol, nRow )
ProcedureReturn
EndProcedure
Code: Alles auswählen
extern "C" __declspec(dllexport) float getVertX()
{
float test=50.001;
return (test);
}