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, правильно ли это?







