小编Fri*_*iso的帖子

如何解决Direct3DCreate9的LNK2019问题?

在编译期间,我收到以下错误:

RAT_RendererDX9.obj:错误LNK2019:解析外部符号_Direct3DCreate9 @ 4在功能上引用的 "市民:无效__thiscall RAT_ENGINE :: RAT_RendererDX9 ::初始化(类RAT_ENGINE :: RAT_WindowManager*)?"(初始化@ RAT_RendererDX9 @ RAT_ENGINE @@ QAEXPAVRAT_WindowManager @ 2 @ @Z)

我使用的唯一的地方Direct3DCreate9是我Init()其中有下面的代码中渲染的功能:

void RAT_RendererDX9::Init(RAT_WindowManager* argWMan)
{
    wMan = argWMan;

    g_pD3D = (LPDIRECT3D9)Direct3DCreate9( D3D_SDK_VERSION );

    D3DPRESENT_PARAMETERS d3dpp;
    ZeroMemory( &d3dpp, sizeof( d3dpp ) );
    d3dpp.Windowed = TRUE;
    d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
    d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;

    g_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
                              D3DCREATE_SOFTWARE_VERTEXPROCESSING,
                              &d3dpp, &g_pd3dDevice );
}
Run Code Online (Sandbox Code Playgroud)

这个错误来自哪里,我该如何解决?
我已经尝试了LNK2019的其他答案,但他们没有解决我的问题.

c++ directx visual-c++ directx-9

2
推荐指数
1
解决办法
7403
查看次数

为什么我不能导入LinearLayoutManager和RecyclerView?

除了这两个,我可以从Android库导入其他所有内容.我试图导入它们android.support.v7.widget不起作用,但导入片段和活动类android.support.v4.widget确实有效.

我的Gradle Build看起来像这样:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.frisosapps.planner"
        minSdkVersion 14
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile 'com.android.support:support-v4:22.2.1'
}
Run Code Online (Sandbox Code Playgroud)

我应该为此添加一些东西还是应该在其他地方寻找原因?

import android

2
推荐指数
1
解决办法
2598
查看次数

如何在Android中使用单例模式影响内存使用?

我正在考虑在我正在构建的Android应用程序中为适配器和帮助器使用单例模式,但我不太熟悉Java的垃圾收集以及静态属性(例如static FooBar instance)如何影响内存使用.

它会对Android应用产生足够大的影响,我应该避免使用它吗?

singleton android

1
推荐指数
1
解决办法
826
查看次数

为什么TIdTextEncoding.Default未声明?

我尝试构建我从http://sourceforge.net/projects/indy10clieservr/获得的第一个客户端项目,但它表示来自第62行的TIdTextEncoding和Default都是未声明的.我没有任何机会,所以可能导致这种情况?

完整代码:界面

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdGlobal;

type
  TClientForm = class(TForm)
    CheckBoxConnectDisconnet: TCheckBox;
    ButtonSendString: TButton;
    Edit1: TEdit;
    Memo1: TMemo;
    IdTCPClient1: TIdTCPClient;
    procedure CheckBoxConnectDisconnetClick(Sender: TObject);
    procedure ButtonSendStringClick(Sender: TObject);
    procedure IdTCPClient1Connected(Sender: TObject);
    procedure IdTCPClient1Disconnected(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  ClientForm: TClientForm;

implementation

{$R *.dfm}

{ TForm1 }

procedure TClientForm.ButtonSendStringClick(Sender: TObject);
var
  LLine: String;
begin

  IdTCPClient1.IOHandler.WriteLn(Edit1.Text, TIdTextEncoding.Default);
  Edit1.Text := '';
  LLine := …
Run Code Online (Sandbox Code Playgroud)

delphi indy

1
推荐指数
1
解决办法
6217
查看次数

如何在面板中显示Delphi表单?

我试图按照http://docwiki.embarcadero.com/CodeExamples/XE7/en/FMXEmbeddedForm_(Delphi)的例子,但我遇到了TCustomForm的孩子的第一个问题,这显然是只读的,所以我发表了评论说出来,放在ArgForm.Parent:= ArgParent;代替,但我仍然只得到一个空的屏幕并不能看到那些在我的第二个表格的按钮.

我的主要表格的代码是:

unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls, Unit2;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    procedure FormCreate(Sender: TObject);
    procedure EmbedForm(ArgParent : TControl; ArgForm : TCustomForm);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Form2: TForm2;

implementation

{$R *.fmx}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Form2:= TForm2.Create(Self);
  EmbedForm(Panel1, Form2);
end;

procedure TForm1.EmbedForm(ArgParent: TControl; ArgForm: TCustomForm);
begin
  //while ArgForm.ChildrenCount>0 do
  //begin
    //ArgForm.Children[0]:= ArgParent);
  //end; …
Run Code Online (Sandbox Code Playgroud)

delphi user-interface tform tpanel firemonkey

1
推荐指数
1
解决办法
5704
查看次数

E2003未声明的标识符:'mtConfirmation'和'mbOK'

从我可以告诉他们这两个应该是在我正在使用的System.UITypes,但我仍然得到错误消息.我怎样才能解决这个问题?

我基于http://docwiki.embarcadero.com/CodeExamples/XE7/en/FileExists_(Delphi)中的示例中的消息对话框

原始代码来自http://delphi.radsoft.com.au/2013/11/checking-for-an-internet-connection-on-mobile-devices-with-delphi-xe5/

unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

uses
  NetworkState;

procedure TForm1.Button1Click(Sender: TObject);
var
  NS: TNetworkState;
begin
  NS := TNetworkState.Create;
  try
    if not NS.IsConnected then begin
      MessageDlg(('No connection'), mtConfirmation, [mbOK], 0);
    end else if NS.IsWifiConnected then begin …
Run Code Online (Sandbox Code Playgroud)

delphi dialog compiler-errors delphi-xe7

1
推荐指数
1
解决办法
1511
查看次数

如何使用 docker-compose 运行 Angular?

我正在尝试从头开始创建我自己的MEAN解决方案,我想使用docker-compose来运行它。我已经成功地使 Node 服务器正常工作,但是当我尝试使用 docker运行Angular客户端时,这不起作用。

仅使用 docker 我运行以下命令:

docker build -t ng-client .

docker run -p 4200:4200 ng-client

从输出来看,它似乎正在工作,但是当我转到http://localhost:4200/ 时,我收到了 localhost 不工作的消息。

当我使用以下命令使用 docker-compose 时,我遇到了同样的问题:

docker-compose up

我的 Dockerfile 看起来像这样:

# based on https://mherman.org/blog/dockerizing-an-angular-app/
# base image
FROM node:8.9.3

# install chrome for protractor tests
# RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
# RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
# RUN apt-get update && …
Run Code Online (Sandbox Code Playgroud)

docker mean-stack docker-compose angular

1
推荐指数
1
解决办法
4854
查看次数

Delphi异常类分段(11)由线程引起?

当ButtonConnectClick被激活时,它会给出Segmentation(11)异常.我认为它是由pocForm1.AddLine('new line by thread');线程引起的,但我不确定如何解决它.

这个想法是在线程处于活动状态时向备注字段添加行.

unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
  IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, FMX.Layouts,
  FMX.Memo, FMX.StdCtrls, IdGlobal, IdIntercept;

type
  TpocForm1 = class(TForm)
    ButtonConnect: TButton;
    ButtonDisconnect: TButton;
    Memo1: TMemo;
    procedure ButtonConnectClick(Sender: TObject);
    procedure ButtonDisconnectClick(Sender: TObject);
    procedure AddLine(text : String);

  private

  public
    { Public declarations }
  end;

  TpocTCPClientThread = class(TThread)
    //TCPClient: TIdTCPClient;
  protected
    procedure Execute; override;
  end;

var
  pocForm1: TpocForm1;

implementation
{$R *.fmx}
var
  thread: TpocTCPClientThread;

procedure TpocForm1.ButtonConnectClick(Sender: TObject);
begin …
Run Code Online (Sandbox Code Playgroud)

delphi multithreading

0
推荐指数
1
解决办法
138
查看次数

如何同步Indy的服务器?

我想根据这个问题的例子同步Indy的TIdTCPServer的OnExecute ,但我没有收到字符串.在我直接从服务器的执行发送字符串之前,客户端确实收到了它们,所以我很确定这方面没有问题.

因为我需要一个上下文来将行写入缓冲区,所以ServerSync包含一个属性,执行过程的上下文被分配给该属性.

服务器形式:

unit ServerForm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdCustomTCPServer,
  IdTCPServer, IdContext;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Server: TIdTCPServer;
    memMessages: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Execute(AContext: TIdContext);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses ServerSync;

{$R *.dfm}


procedure TForm1.Execute(AContext: TIdContext);
var
  Sync : TServerSync;
begin
  Sync := TServerSync.Create(AContext);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Server …
Run Code Online (Sandbox Code Playgroud)

delphi synchronization indy

0
推荐指数
1
解决办法
1230
查看次数

为什么我使用indy发送了一个不同的int?

我已经检查过,当我将整数转换为十六进制时,它们分别变为4C52和524C000000000000,因此看起来好像字节是反转的.

客户端运行在Delphi XE7 for android上,服务器运行在Delphi 2007上.

我怎样才能解决这个问题?

推送客户代码: Client.IOHandler.Write(19538);

拉服务器代码: AContext.Connection.IOHandler.ReadInt64; //receives 5930114809340100608

delphi indy delphi-2007 delphi-xe7

0
推荐指数
1
解决办法
412
查看次数