Pointer delphi
Автор Mad Max задал вопрос в разделе Другие языки и технологии
Помогите с типом поинтер в Delphi и получил лучший ответ
Ответ от Jurijus Zaksas[гуру]
Эмм... А зачем, собственно, ты используешь такой жестокий дженерик, как Pointer? В этом случае сравнения вроде A[J]^ < A[K]^ никак работать не могут, потому что ^ подразумевает тип определенной величины, а типов-то у тебя как раз и нет. Используй типизированные указатели, не мучайся.
Ответ от Jurii[гуру]
Попробуй вынести тип массива из параметра процедуры.
И где у тебя, собственно, массив задаётся?
Попробуй вынести тип массива из параметра процедуры.
И где у тебя, собственно, массив задаётся?
Ответ от Sm[гуру]
> ВОт правильный
Это НЕправильный код.
> ВОт правильный
Это НЕправильный код.
Ответ от Kuliba kulibin[гуру]
Ну, логично.. . строка Swap ( A, A[K] ); и не сможет откомпилироваться, т. к. процедура Swap ожидает тип Pointer для обоих параметров, а ей в первом параметре Array подсовывают. Кроме того, каким образом должно выполняться сравнение A[J]^ < A[K]^ ? Элемент массива имеет тип Pointer, т. е. абстрактный указатель ни на что - просто адрес памяти. Как должны сравниваться два "ничто"? Вот если бы был не Pointer, а, скажем (чисто для примера) , ^Integer, тогда было бы понятно - после разыменования указателей мы имеем два Integer, которые мы спокойно можем сравнить...
Ну, логично.. . строка Swap ( A, A[K] ); и не сможет откомпилироваться, т. к. процедура Swap ожидает тип Pointer для обоих параметров, а ей в первом параметре Array подсовывают. Кроме того, каким образом должно выполняться сравнение A[J]^ < A[K]^ ? Элемент массива имеет тип Pointer, т. е. абстрактный указатель ни на что - просто адрес памяти. Как должны сравниваться два "ничто"? Вот если бы был не Pointer, а, скажем (чисто для примера) , ^Integer, тогда было бы понятно - после разыменования указателей мы имеем два Integer, которые мы спокойно можем сравнить...
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Помогите с типом поинтер в Delphi
спросили в Piriform
Delphi: ShellExecute - запуск приложений
А справку по этой функции почитать лениво?
HINSTANCE ShellExecute(
HWND hwnd,//
подробнее...
Delphi: ShellExecute - запуск приложений
А справку по этой функции почитать лениво?
HINSTANCE ShellExecute(
HWND hwnd,//
подробнее...
Delphi и типы данных
может надо
HRESULT GetPlayerAddress(
idPlayer : Cardinal,
var IpAddress : Pointer,
подробнее...
спросили в Maserati Pectinoida
Как с помощью Delphi узнать свой внешний IP?
...
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,
подробнее...
Как с помощью Delphi узнать свой внешний IP?
...
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,
подробнее...
delphi - как написать функцию, которая возвращает массив?
Опиши свой ТИП динамического массива. Тогда проще:
type
RealArray = array of
подробнее...
Delphi , в чюм разница между "New" И "GetMem" ?
На сколько я понял, GetMem позволяет выделить память произвольного размера. Это полезно, когда
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Lines
Delphi, TList vs Memo
что такое... .
x:=List.Count;
i:=0;
while i < x do
begin
подробнее...
Delphi, TList vs Memo
что такое... .
x:=List.Count;
i:=0;
while i < x do
begin
подробнее...
спросили в Inheritance Стек
Реализовать в Delphi организацию работы СТЕКА.
Ну как минимум стараться передавать в процедуры и функции не переменные а указатели на них... в
подробнее...
Реализовать в Delphi организацию работы СТЕКА.
Ну как минимум стараться передавать в процедуры и функции не переменные а указатели на них... в
подробнее...
спросили в P Funk
Delphi!? Напишите самы простой пример указателя на функцию и как его задействовать?
Передаем указатель на функцию Delphi
==================================================
подробнее...
Delphi!? Напишите самы простой пример указателя на функцию и как его задействовать?
Передаем указатель на функцию Delphi
==================================================
подробнее...
Delphi. Не работает FindWindowEx.
Чудес не бывает. Обратная совместимость должна быть. Мелкомягкие её обеспечивают для таких
подробнее...
спросили в Aerosmith
название машин из 7 букв
Вот некоторое количество англоязычных названий машин из 7 букв:
Skyline, Allante,
подробнее...
название машин из 7 букв
Вот некоторое количество англоязычных названий машин из 7 букв:
Skyline, Allante,
подробнее...
Почему вылазит ошибка Invalid Pointer Operation когда я использую в своей программе .dll?
В комментарии указывается на необходимость вставить ссылку на модуль ShareMem, если библиотека
подробнее...