Hallo,
Im Moment screibe ich ein Programm in Delphi 2006, das mit der dll (TcAdsDll.dll) auf Variablennamen zugreift.
//Variablen definieren
arrHMI_ActValues: array[1..25] of Integer;
Handle_arrHMI_ActValues: Integer;
const sarrHMI_ActValues: array[0..25] of Char = '.arrHMI_ActValues'; //Symbol Name in der SPS
//Handle anfordern
AdsResult := AdsSyncReadWriteReq(@LocalAddr, ADSIGRP_SYM_HNDBYNAME, 0, sizeof(Handle_arrHMI_ActValues), @Handle_arrHMI_ActValues, SizeOf(sarrHMI_ActValues), @sarrHMI_ActValues);
//Variable lesen
AdsResult := AdsSyncReadReq( @LocalAddr, ADSIGRP_SYM_VALBYHND, frmMain.Handle_arrHMI_ActValues, sizeof(frmMain.arrHMI_ActValues), @frmMain.arrHMI_ActValues);
//Handle freigeben
AdsResult := AdsSyncWriteReq( @LocalAddr, ADSIGRP_RELEASE_SYMHND, 0, sizeof(Handle_arrHMI_ActValues), @Handle_arrHMI_ActValues);
Meines wissens nach wird die Namenaufloesung in der SPS selber gemacht, und nicht mit der dll.
Die kleine SPS-Typen von Beckhoff haben diese Funktion leider nicht implementiert.
Bist Du dir sicher, dass die dll ohne TwinCat laeuft?