1. есть объявления
- Код: Выделить всё
type
OGREnvelope = record
MinX: double;
MaxX: double;
MinY: double;
MaxY: double;
end;
void OGR_G_GetEnvelope( OGRGeometryH hGeom, OGREnvelope *psEnvelope );
void OGR_G_GetPoint( OGRGeometryH hGeom, int iPoint, double *pdfX, double *pdfY, double *pdfZ );
int OGR_F_GetFieldAsDateTime( OGRFeatureH, int iField, int *pnYear, int *pnMonth, int *pnDay,int *pnHour, int *pnMinute, int *pnSecond, int *pnTZFlag );
Как правильно перевести это на паскаль: нужно передавать указатель на структуру (переменную типа double/integer) или можно ограничиться var-параметром?
2. как быть с файловыми переменными в объявлениях вида? Можно ли заменять FILE на паскалевский нетипизированный файл
- Код: Выделить всё
void OGR_G_DumpReadable( OGRGeometryH hGeom, FILE *fpOut, const char *pszPrefix );
3. Что делать в случае, когда возвращается массив (список) значений опеределенного типа, но не всегда указано количество возвращаемых элементов? В примере для первого обяъвления количество возвращаемых элементов находится в pnCount, а во втором объявлении количество не указывается.
- Код: Выделить всё
const int *OGR_F_GetFieldAsIntegerList( OGRFeatureH hFeat, int iField, int *pnCount );
char **OGR_F_GetFieldAsStringList( OGRFeatureH hFeat, int iField);
Также не совсем ясно чем заменить char **. Думал сделать как PPChar = array of PChar, правильно ли это?