Поскольку я не могу прокомментировать принятый ответ, я привожу здесь модифицированную версию, которая должна учитывать элементы, которые вне формы (т. е. прикреплены к форме с помощью атрибута form
). Это для современного браузера: http://caniuse.com/#feat=form-attribute . closest('form')
используется как резерв для неподдерживаемого атрибута form
$(document).on('click', '[type=submit]', function() {
var form = $(this).prop('form') || $(this).closest('form')[0];
$(form.elements).filter('[type=submit]').removeAttr('clicked')
$(this).attr('clicked', true);
});
$('form').on('submit', function() {
var submitter = $(this.elements).filter('[clicked]');
})
Процессы только на 64 бита могут обратиться к 64 битам памяти. Процесс на 64 бита может только загрузить 64 бита dlls, и процессы на 32 бита могут только загрузить 32 бита dlls. Компилятор Delphi может только сделать двоичные файлы на 32 бита.
Так Delphi на 32 бита exe не может загрузить Ваш C++ на 64 бита dll. Это могло загрузить C++ на 32 бита dll, но затем что dll не сможет обратиться к 64 битам пространства памяти. Вы отчасти застреваете с этим решением.
Delphi мог с правильными параметрами компилятора, и переключатели Windows обращаются к 3 ГБ памяти без проблем. Еще к большей памяти мог получить доступ процесс на 32 бита, если она использует Расширение физического адреса. Это затем должно загрузить страницы памяти и из 32 битов памяти с помощью Расширений Работы с окнами Адреса.
Вы могли бы смотреть на Свободного Паскаля, поскольку он включает версию на 64 бита и является главным образом Delphi совместимый синтаксис.
Указатели Delphi являются 32-разрядными. Период. Ваш разработчик Delphi может 'хранить' 64-разрядные значения, которые Вы хотите возвратить ему, но он не может получить доступ к памяти, на которую они указывают, таким образом, это довольно бесполезно.
Ранее, записал я:-
64-разрядная версия Delphi находится на плане действий Codegear/Embarcadero в течение "середины 2009". Качество продуктов, кажется, (наконец!) имеющий приоритет по совершающим нападки датам поставки точно, не, задерживают дыхание - также...
Но в августе 2010 Причал опубликовал новую дорожную карту здесь. Это не дает определенные даты, но упоминает 64-разрядный Предварительный просмотр Компилятора, со Спроектированной Доступностью, 1-й Половиной 2011.
Вы могли бы также хотеть добавить способ прикрепить и не прикрепить тот 64-разрядный указатель на 32-разрядный адрес памяти. Так как это - Delphi, я вполне уверен, это - конкретный Windows, таким образом, Вы могли бы также использовать Расширения Работы с окнами Адреса. Тем путем можно поддерживать выделение, освобождение, и прикрепление и неприкрепление памяти к 32-разрядному диапазону адресов и все еще использовать в своих интересах 64-разрядное пространство выделения памяти. Предположение, что пользователь будет на самом деле фиксировать память, таким образом, что она помещается в 32-разрядное виртуальное адресное пространство.