Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Guid

41K
09 сентября 2009 года
f-a-l-l-e-n
22 / / 01.07.2009
всем привет. Подскажите пожалуйста как его едят.

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ActiveX;

type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function CoCreateGuid (pGUID : TGUID) : longint;
external 'OLE32.DLL';
procedure TForm1.Button1Click(Sender: TObject);
var
G: TGUID;
begin
CoCreateGuid(G);
Label1.Caption := GUIDToString(G);
end;
end.

не работает
точнеее работает , но дает одно и тоже
{00000003-0000-0000-7732-4000D88F4200}

подскажите что не так
14
10 сентября 2009 года
Phodopus
3.3K / / 19.06.2008
Пробуй CreateClassID()
303
10 сентября 2009 года
makbeth
1.0K / / 25.11.2004
Посмотри в MSDN спецификацию параметров повнимательнее. Должно быть так:
function CoCreateGuid (var pGUID : TGUID) : longint; stdcall; external 'OLE32.DLL';

А вообще, сомневаюсь, чтобы определения такой функции не было в стандартных модулях. Просто надо немного поискать.
303
10 сентября 2009 года
makbeth
1.0K / / 25.11.2004
Блин, ну точно:
 
Код:
uses
   ComObj, ActiveX;

procedure TForm1.Button1Click(Sender: TObject);
var G: TGUID;
begin
    CoCreateGuid(G);
    Label1.Caption := GUIDToString(G);
end;


А вообще, если сам экспортируешь функцию, то правильнее было бы определить ее так:
 
Код:
function CoCreateGuid(out pguid: TGUID): HRESULT; stdcall; external 'ole32.dll';
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог